Exibir frequência de clock por núcleo usando Conky [duplicado]

4

Estou usando o Conky para exibir muitas informações do meu sistema. Consegui exibir a porcentagem de carga por núcleo. Mas eu não sei como exibir a freqüência de clock de cada núcleo. O que eu tenho agora é:

${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}

Mas isso só me dá a freqüência de clock global e não a frequência de clock individual por núcleo. Alguém sabe como obter a frequência de clock individual por núcleo?

Informações do sistema

  • Linux Mint 13 KDE, 64 bits (baseado no Ubuntu 12.04)
  • Intel i7-2670QM (quad core com multithreading)
por Aeronaelius 28.10.2013 / 22:38

1 resposta

2

Com conky você pode executar um comando externo. Então /proc/cpuinfo tem todas as informações que você precisa. veja:

root@host:~$ cat /proc/cpuinfo | grep "cpu MHz"
cpu MHz         : 2667.000
cpu MHz         : 1998.000
cpu MHz         : 1998.000
cpu MHz         : 2667.000

No meu caso, há 4 núcleos e dois deles são um passo . Você pode descobrir quais etapas sua CPU permite com uma ferramenta chamada 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 pacote pode ser instalado pelo comando:

apt-get install cpufrequtils

Com essas informações eu escreveria seu conky.conf como este

${font sans-serif:bold:size=8}PROCESSORS ${hr 2}${font}
CPU1: ${cpu cpu1}% $alignr ${exec awk '/cpu MHz/{i++}i==1{printf "%.f",; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu1 8,60}
CPU2: ${cpu cpu2}% $alignr ${exec awk '/cpu MHz/{i++}i==2{printf "%.f",; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu2 8,60}
CPU3: ${cpu cpu3}% $alignr ${exec awk '/cpu MHz/{i++}i==3{printf "%.f",; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu3 8,60}
CPU4: ${cpu cpu4}% $alignr ${exec awk '/cpu MHz/{i++}i==4{printf "%.f",; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu4 8,60}
CPU5: ${cpu cpu5}% $alignr ${exec awk '/cpu MHz/{i++}i==5{printf "%.f",; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu5 8,60}
CPU6: ${cpu cpu6}% $alignr ${exec awk '/cpu MHz/{i++}i==6{printf "%.f",; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu6 8,60}
CPU7: ${cpu cpu7}% $alignr ${exec awk '/cpu MHz/{i++}i==7{printf "%.f",; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu7 8,60}
CPU8: ${cpu cpu8}% $alignr ${exec awk '/cpu MHz/{i++}i==8{printf "%.f",; exit}' /proc/cpuinfo} MHz $alignr ${cpubar cpu8 8,60}

No meu caso funcionou, mas eu tinha apenas 4 núcleos.

    
por chaos 29.10.2013 / 13:31