web-dev-qa-db-ja.com

CPU周波数をリアルタイムで監視

Ryzen 1700Xコンピューターに16.04 LTSがインストールされています。コマンドSudo cpupower monitorを実行することにより、個々の16スレッドのそれぞれの頻度を確認できます。周波数とともに、電力状態に関する情報、およびCPUベース周波数のように見えるものを表示します。これは表示されるものの例です:

|Mperf               
CPU | C0   | Cx   | Freq 
   0|  0.09| 99.91|  3493
   1|  0.04| 99.96|  3495
   2|  0.06| 99.94|  3498
   3|  0.06| 99.94|  3495
   4|  0.16| 99.84|  3439
   5|  0.05| 99.95|  3497
   6|  0.09| 99.91|  3494
   7|  0.10| 99.90|  3500
   8|  2.89| 97.11|  3474
   9|  0.13| 99.87|  3496
  10|  0.56| 99.44|  3485
  11|  0.07| 99.93|  3495
  12|  2.22| 97.78|  3474
  13|  0.19| 99.81|  3497
  14|  1.51| 98.49|  3490
  15|  0.01| 99.99|  3445

2つのリクエストがあります。 1つは、これらの数値を準リアルタイムで監視する方法です。カウンターが頻度を表示し、1秒ごとに更新するのですか? Bashにコマンドを頻繁に繰り返すことができる便利な機能はありますか?

もう1つの懸念は、中央の2列を削除するか、最初の3列を削除して、「Freq」列だけを残すことです。このようにして、Libreoffice Calcにデータを簡単に入力し、平均と合計を計算できます。

可能な代替案は、リアルタイムで周波数を読み取ることができるようにpsensorをセットアップすることです。 modprobeコマンドを使用して、psensorで温度とCPU使用率を表示できますが、周波数の変動は表示されません(オーバークロックと微調整の目的で興味のあることです)。

1
Nick Bailuc

私のお気に入りのツールはConkyで、これはモニターの右側にあります:

CPU Powersave.gif

私のコードには8個のCPUしかありませんが、16個のCPUに変更する必要があります。

#------------+
# i7-6700 CPU|
#------------+
${color2}${voffset 5}Intel® i-7 6700HQ 3.5 GHz: ${color1}@  ${color green}${freq} MHz
${color}${goto 13}CPU 0 ${goto 81}${color green}${cpu cpu1}% ${goto 131}${color3}${cpubar cpu1 18}
${color}${goto 13}CPU 1 ${goto 81}${color green}${cpu cpu2}% ${goto 131}${color3}${cpubar cpu2 18}
${color}${goto 13}CPU 2 ${goto 81}${color green}${cpu cpu3}% ${goto 131}${color3}${cpubar cpu3 18}
${color}${goto 13}CPU 3 ${goto 81}${color green}${cpu cpu4}% ${goto 131}${color3}${cpubar cpu4 18}
${color}${goto 13}CPU 4 ${goto 81}${color green}${cpu cpu5}% ${goto 131}${color3}${cpubar cpu5 18}
${color}${goto 13}CPU 5 ${goto 81}${color green}${cpu cpu6}% ${goto 131}${color3}${cpubar cpu6 18}
${color}${goto 13}CPU 6 ${goto 81}${color green}${cpu cpu7}% ${goto 131}${color3}${cpubar cpu7 18}
${color}${goto 13}CPU 7 ${goto 81}${color green}${cpu cpu8}% ${goto 131}${color3}${cpubar cpu8 18}
${color1}All CPU ${color green}${cpu}% ${goto 131}${color1}Temp: ${color green}${hwmon 1 temp 1}°C ${goto 250}${color1}Up: ${color green}$uptime
${color green}$running_processes ${color1}running of ${color green}$processes ${color1}loaded processes.
${color}Load Avg. 1-5-15 minutes: ${alignr}${color green}${execpi .001 (awk '{printf "%s/", $1}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4} ${execpi .001 (awk '{printf "%s/", $2}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4} ${execpi .001 (awk '{printf "%s/", $3}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l | cut -c1-4}

Conkyの buntu Forums で、文字通り何千もの例とソリューションを見つけることができます。

1