Fondamentalement, je voudrais savoir un bon moyen d'afficher des informations telles que les fréquences CPU, de manière agréable et facile. Je ne connais pas un bon programme pour Linux qui le montre comme je le veux. J'ai donc décidé d'écrire un script. Mais il semble même que ce n'est pas si facile (mon savoir bash n'est pas très bon).Obtenir des fréquences de processeur
Donc je voudrais obtenir une sortie comme:
Core 1: 800 MHz, Temp: 30 C
Core 2: 1500 MHz, Temp: ...
...
pour la première étape, le MHz serait suffisant.
Comment procéder de la manière la plus simple?
Ce que je jusqu'à présent:
CpuInfoOutput="$(cat /proc/cpuinfo)"
ProcessorCount="$(echo "${CpuInfoOutput}" | grep processor | tail -1 | grep -o ":.*" | cut -f2- -d: | xargs)"
ProcessorCount=$(expr $ProcessorCount + 1)
echo "CPU Count: ${ProcessorCount}"
for i in $(seq $ProcessorCount)
do
$ProcessorId = $(expr $i - 1)
TODO
echo ${CpuInfoOutput} | grep processor |
done
sortie de cat/proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 16
model : 4
model name : AMD Phenom(tm) II X4 965 Processor
stepping : 3
microcode : 0x10000c8
cpu MHz : 800.000
cache size : 512 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
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 rep_good nopl nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm_lock nrip_save
bugs : tlb_mmatch apic_c1e fxsave_leak sysret_ss_attrs
bogomips : 6837.89
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
processor : 1
vendor_id : AuthenticAMD
cpu family : 16
model : 4
model name : AMD Phenom(tm) II X4 965 Processor
stepping : 3
microcode : 0x10000c8
cpu MHz : 2200.000
cache size : 512 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 4
apicid : 1
initial apicid : 1
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 rep_good nopl nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm_lock nrip_save
bugs : tlb_mmatch apic_c1e fxsave_leak sysret_ss_attrs
bogomips : 6837.89
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
processor : 2
vendor_id : AuthenticAMD
cpu family : 16
model : 4
model name : AMD Phenom(tm) II X4 965 Processor
stepping : 3
microcode : 0x10000c8
cpu MHz : 800.000
cache size : 512 KB
physical id : 0
siblings : 4
core id : 2
cpu cores : 4
apicid : 2
initial apicid : 2
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 rep_good nopl nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm_lock nrip_save
bugs : tlb_mmatch apic_c1e fxsave_leak sysret_ss_attrs
bogomips : 6837.89
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
processor : 3
vendor_id : AuthenticAMD
cpu family : 16
model : 4
model name : AMD Phenom(tm) II X4 965 Processor
stepping : 3
microcode : 0x10000c8
cpu MHz : 2200.000
cache size : 512 KB
physical id : 0
siblings : 4
core id : 3
cpu cores : 4
apicid : 3
initial apicid : 3
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 rep_good nopl nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm_lock nrip_save
bugs : tlb_mmatch apic_c1e fxsave_leak sysret_ss_attrs
bogomips : 6837.89
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
EDIT: Ma solution pour l'instant:
#!
# print processor MHz values
awk -F":" '$1~"processor"{processor=$2+1} $1~"cpu MHz"{print "Processor " processor ":\t" $2 " MHz"}' /proc/cpuinfo
# print GPU clock value
GPU_FREQ=$(awk -F":" '$1~"current engine" {print $2}' /sys/kernel/debug/dri/64/radeon_pm_info)
echo -e "Graphics card:\t$GPU_FREQ"
# print temperatures
CPU_TEMP=$(cat /sys/class/hwmon/hwmon1/device/temp2_input)
GFX_TEMP=$(cat /sys/class/graphics/fb0/device/hwmon/hwmon0/temp1_input)
echo
echo -e "CPU temp:\t$(expr $CPU_TEMP/1000)" °C
echo -e "Graphics temp:\t$(expr $GFX_TEMP/1000)" °C
Exemple de sortie
Processor 1: 800.000 MHz
Processor 2: 800.000 MHz
Processor 3: 800.000 MHz
Processor 4: 800.000 MHz
Graphics card: 675000 kHz
CPU temp: 35 °C
Graphics temp: 46 °C
Actuellement vraiment pas sympa la façon dont je lis la fréquence du GPU. Mais je n'ai pas trouvé d'autre solution pour utiliser la chose de débogage de Linux. Je vais donc besoin d'un accès root pour le script ...
vous pourriez [modifier] votre question montrant le résultat brut de 'cpuinfo' Les utilisateurs de Windows pourraient donc aussi essayer de répondre. –
Grande question est, si cpuinfo est le chemin à parcourir ... mais fera – SACO
Existe-t-il une exigence stricte exigeant que ce soit un script bash? Par exemple. un module google trouve rapidement [this] (https://pypi.python.org/pypi/py-cpuinfo) python qui pourrait vous permettre de faire ce que vous voulez en quelques lignes. –