processzor maximum mhz? [megoldva]

Fórumok

Hali,

Le tudom kérdezni valahogy egy processzor/mag _maximum_ frekvenciáját?

Van néhány gép, amiben (különböző) amd proci van, és nem opció az, hogy a
cpuinfo "model name" alapján adjam vissza a az elméleti maximumot.
(A scriptnek később is működnie kell, újabb proci esetén is, és nem akarok beledrótozni semmit)

A cpuinfo csak ezt adja vissza, és ebben nincs benne az hogy 1700 lenne a max sebesség:

processor : 47
vendor_id : AuthenticAMD
cpu family : 16
model : 9
model name : AMD Opteron(tm) Processor 6164 HE
stepping : 1
cpu MHz : 800
cache size : 512 KB
physical id : 4
siblings : 12
core id : 5
cpu cores : 12
apicid : 75
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc nonstop_tsc pni cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy altmovcr8 abm sse4a misalignsse 3dnowprefetch osvw
bogomips : 3400.07
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate [8]

Hozzászólások

2 lehetőség:
1. A CPU azonosítójára rákeresel.
2. Kikapcsolod a powernowd-t és társait. Ezután max órajelen fog ketyegni a CPU.

Nem elegáns megoldás, de ha írsz egy végtelen ciklust, akkor a maximális frekvencián fog járni. Valami ilyesmire gondolok:

while :; do :; done & pid=$!
sleep 2
max=0
for i in `grep '^cpu MHz' /proc/cpuinfo | cut -d: -f2 | cut -d. -f1`; do
        [ $i -gt $max ] && max=$i
done
kill $pid
echo $max

tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE

Tartalmilag én is ezt írtam. Mi a lényegi különbség a true és a : között, már azon túl, hogy az előbbi külső, az utóbbi belső parancs? Amit én írtam, abban sincs sleep, így nem megy idle-be a CPU, a shell a lehető legtöbb CPU időt el fogja vinni, azaz egy magot kifektet 100%-ra. Ha osztoznia kell más processzel, akkor persze csak azzal együtt.

tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE

sztem nézz körül erre: /sys/devices/system/cpu/
Nekem fix órajeles cucc, úgyhogy nem tudom leelenőrizni, de úgy emlékszem, erre található változtatható órajelű cpu-knál az info

Talán ez is jó lehet egynek:
$ dmesg | grep MHz
[ 0.000000] Detected 2000.198 MHz processor.
[ 1.444698] powernow-k8: 0 : fid 0xc (2000 MHz), vid 0xe
[ 1.444753] powernow-k8: 1 : fid 0xa (1800 MHz), vid 0x10
[ 1.444808] powernow-k8: 2 : fid 0x2 (1000 MHz), vid 0x12

köszi mindenkinek, ez a három (/sys/..., dmesg, /proc/cpuinfo) megmondja ami kell. thx