Отображение тактовой частоты на ядро с помощью Conky
Я использую Conky для отображения большого количества информации о моей системе. Мне удалось отобразить процент загрузки на ядро. Но я не знаю, как отобразить тактовую частоту каждого ядра. Что у меня сейчас есть:
${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}
Но это только дает мне общую тактовую частоту, а не индивидуальную тактовую частоту на ядро. Кто-нибудь знает, как получить индивидуальную тактовую частоту на ядро?
Системная информация
- Linux Mint 13 KDE, 64 бит (на основе Ubuntu 12.04)
- Intel i7-2670QM (четырехъядерный с многопоточностью)
1 ответ
С conky
Вы можете выполнить внешнюю команду. Так /proc/cpuinfo
есть вся необходимая информация увидеть:
root@host:~$ cat /proc/cpuinfo | grep "cpu MHz"
cpu MHz : 2667.000
cpu MHz : 1998.000
cpu MHz : 1998.000
cpu MHz : 2667.000
В моем случае 4 ядра, и два из них - на шаг вниз. Вы можете узнать, какие шаги ваш процессор позволяет с помощью инструмента под названием 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
Этот пакет может быть установлен командой:
apt-get install cpufrequtils
С этой информацией я бы написал ваш conky.conf
как это
${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}
В моем случае это сработало, но у меня было только 4 ядра.