使用 Conky 顯示每個核心的時脈頻率

使用 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 個核心,其中兩個是 1 個向下。您可以使用名為的工具找出您的 CPU 允許哪些步驟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 個核心。

相關內容