Мониторинг частоты процессора в режиме реального времени
У меня установлено 16.04 LTS на компьютере Ryzen 1700X. Я могу видеть частоту каждого из отдельных 16 потоков, выполнив команду sudo cpupower monitor
, Наряду с частотами, он отображает информацию о состоянии питания и о том, что похоже на базовую частоту процессора. Это пример того, что отображается:
|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 секунду? Есть ли в Bash удобная функция, которая может часто повторять команду?
Другая проблема состоит в том, чтобы убрать 2 средних столбца или даже лучше первых 3 и просто оставить столбец "Freq". Таким образом, я могу легко вводить данные в Libreoffice Calc и вычислять средние и суммы.
Возможной альтернативой было бы настроить psensor, чтобы иметь возможность считывать частоты в режиме реального времени. Я могу заставить psensor отображать температуру и загрузку процессора с помощью команды modprobe, однако она не показывает колебания частот (что меня интересует для разгона и тонкой настройки).
1 ответ
Мой любимый инструмент - Conky, который я разделяю справа от одного из моих мониторов:
Мой код имеет только 8 процессоров, и вам придется изменить его для 16 процессоров:
#------------+
# 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}
Вы можете буквально найти тысячи примеров и решений на форумах Ubuntu для Conky.