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]
- 3135 megtekintés
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.
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
Esetleg:
#!/bin/bash
while : ; do
true
done
Szerk.: mármint csak a magas CPU loadhoz természetesen.
-pilisig-
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
Valóban. A /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
visszaadja a nyerő számot.
tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Ne alapozz 100%-ban rá. Ahol nincs cpufreq v. a powernowd program, ott nincs ez a bejegyzés. Ott viszont adott cpuinfo.
Ebből a szempontból a dmesg univerzálisabb.
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
dmesg egy ido utan kiporog
- A hozzászóláshoz be kell jelentkezni
Akkor érdemes gépindításkor eltárolni az értéket: rc.local fájlból futtatni.
Gondolom menet közben nem cserélsz CPU-t.
- A hozzászóláshoz be kell jelentkezni
Ez jó megoldás, ha már induláskor ott van a script.
Amúgy 2-300 napos uptime felett már nem ritka, hogy nincs meg a dmesg eleje, sőt CPU hotswap is létezik. :)
Persze elég kicsi az esélye, hogy ilyen környezetben dolgozik, de sosem lehet tudni..
- A hozzászóláshoz be kell jelentkezni
Processor AMD Opteron™ 6100 Series Processor
Model 6164 HE
http://products.amd.com/en-us/OpteronCPUDetail.aspx?id=649&f1=&f2=&f3=Y…;
--
A főnököm mindig megtartja amit ígér, ha pénzt ígér azt is!
- A hozzászóláshoz be kell jelentkezni
write only? :)
"és nem opció az, hogy a cpuinfo "model name" alapján adjam vissza a az elméleti maximumot."
- A hozzászóláshoz be kell jelentkezni
köszi mindenkinek, ez a három (/sys/..., dmesg, /proc/cpuinfo) megmondja ami kell. thx
- A hozzászóláshoz be kell jelentkezni