
Estoy usando Conky para mostrar mucha información de mi sistema. Logré mostrar el porcentaje de carga por núcleo. Pero no sé cómo mostrar la frecuencia de reloj de cada núcleo. Lo que tengo ahora es:
${font sans-serif:bold:size=8}PROCESSORS ${hr 2}${font}
CPU1: ${cpu cpu1}% $alignr ${freq} MHz $alignr ${cpubar cpu1 8,60}
CPU2: ${cpu cpu2}% $alignr ${freq} MHz $alignr ${cpubar cpu2 8,60}
CPU3: ${cpu cpu3}% $alignr ${freq} MHz $alignr ${cpubar cpu3 8,60}
CPU4: ${cpu cpu4}% $alignr ${freq} MHz $alignr ${cpubar cpu4 8,60}
CPU5: ${cpu cpu5}% $alignr ${freq} MHz $alignr ${cpubar cpu5 8,60}
CPU6: ${cpu cpu6}% $alignr ${freq} MHz $alignr ${cpubar cpu6 8,60}
CPU7: ${cpu cpu7}% $alignr ${freq} MHz $alignr ${cpubar cpu7 8,60}
CPU8: ${cpu cpu8}% $alignr ${freq} MHz $alignr ${cpubar cpu8 8,60}
Pero esto sólo me da la frecuencia de reloj global y no la frecuencia de reloj individual por núcleo. ¿Alguien sabe cómo obtener la frecuencia de reloj individual por núcleo?
Información del sistema
- Linux Mint 13 KDE, 64 bits (basado en Ubuntu 12.04)
- Intel i7-2670QM (cuatro núcleos con subprocesos múltiples)
Respuesta1
Con conky
puedes ejecutar un comando externo. También /proc/cpuinfo
tiene toda la información que necesitas. ver:
root@host:~$ cat /proc/cpuinfo | grep "cpu MHz"
cpu MHz : 2667.000
cpu MHz : 1998.000
cpu MHz : 1998.000
cpu MHz : 2667.000
En mi caso son 4 núcleos y dos de ellos son unopasoabajo. Puedes averiguar qué pasos permite tu CPU con una herramienta llamada cpufreq-info
:
root@host:~$ cpufreq-info | grep "available frequency steps"
available frequency steps: 2.67 GHz, 2.00 GHz
available frequency steps: 2.67 GHz, 2.00 GHz
available frequency steps: 2.67 GHz, 2.00 GHz
available frequency steps: 2.67 GHz, 2.00 GHz
Este paquete se puede instalar con el comando:
apt-get install cpufrequtils
Con esta información te escribiría conky.conf
así
${font sans-serif:bold:size=8}PROCESSORS ${hr 2}${font}
CPU1: ${cpu cpu1}% $alignr ${exec awk '/cpu MHz/{i++}i==1{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu1 8,60}
CPU2: ${cpu cpu2}% $alignr ${exec awk '/cpu MHz/{i++}i==2{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu2 8,60}
CPU3: ${cpu cpu3}% $alignr ${exec awk '/cpu MHz/{i++}i==3{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu3 8,60}
CPU4: ${cpu cpu4}% $alignr ${exec awk '/cpu MHz/{i++}i==4{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu4 8,60}
CPU5: ${cpu cpu5}% $alignr ${exec awk '/cpu MHz/{i++}i==5{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu5 8,60}
CPU6: ${cpu cpu6}% $alignr ${exec awk '/cpu MHz/{i++}i==6{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu6 8,60}
CPU7: ${cpu cpu7}% $alignr ${exec awk '/cpu MHz/{i++}i==7{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu7 8,60}
CPU8: ${cpu cpu8}% $alignr ${exec awk '/cpu MHz/{i++}i==8{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu8 8,60}
En mi caso funcionó, pero solo tenía 4 núcleos.