Как отобразить в терминале процент информации о загрузке ЦП, установленный утилитой stress-ng с определенным интервалом?

Мне нужно написать утилиту стресс-тестирования, чтобы установить для всех ЦП определенное значение нагрузки и отображать загрузку ЦП в окне терминала каждую 1 секунду (что зависит от аргумента пользовательского прохода), чтобы пользователь мог проверить загрузку ЦП.

Я устанавливаю загрузку ЦП на 80% (на основе ввода пользователя) и запускаю утилиту stress-ng на определенное время (120 секунд) в фоновом режиме.

      stress-ng -c 8 -l 80 --timeout 120s &

Теперь, как я могу отображать всю информацию о загрузке ЦП (здесь я провожу стресс-тестирование для 8 ядер) в терминал каждую 1 секунду, чтобы пользователь мог убедиться, что любое значение нагрузки, которое он установил с помощью утилиты, все ЦП в настоящее время работают с той же нагрузкой

1 ответ

В зависимости от марки и модели вашего процессора вы можете использовать turbostat (пакет linux-tools-common), чтобы получить то, что вы хотите. Он работает с самыми последними процессорами Intel и, если ваша версия турбостата достаточно новая, со многими процессорами AMD.

Пример, где у меня есть 12 экземпляров программы, работающей с использованием 80% с частотой работы/сна 273 Гц на 6-ядерном 12-процессорном процессоре Intel 10600K, и я делаю выборку по 6 секунд на выборку:

      $ sudo turbostat --quiet --show Core,CPU,Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp --interval 6
Core    CPU     Busy%   Bzy_MHz IRQ     PkgTmp  PkgWatt
-       -       78.55   4800    90958   67      85.25
0       0       78.53   4800    7598    67      85.25
0       6       78.55   4800    7579
1       1       78.55   4800    7570
1       7       78.56   4800    7568
2       2       78.55   4800    7594
2       8       78.56   4800    7575
3       3       78.54   4800    7570
3       9       78.56   4800    7574
4       4       78.55   4800    7569
4       10      78.57   4800    7564
5       5       78.54   4800    7563
5       11      78.55   4800    7634
Core    CPU     Busy%   Bzy_MHz IRQ     PkgTmp  PkgWatt
-       -       78.54   4800    90801   67      85.27
0       0       78.55   4800    7567    67      85.27
0       6       78.54   4800    7575
1       1       78.55   4800    7562
1       7       78.55   4800    7576
2       2       78.54   4800    7563
2       8       78.54   4800    7569
3       3       78.54   4800    7563
3       9       78.54   4800    7563
4       4       78.54   4800    7564
4       10      78.55   4800    7571
5       5       78.55   4800    7562
5       11      78.54   4800    7566
Core    CPU     Busy%   Bzy_MHz IRQ     PkgTmp  PkgWatt
-       -       78.53   4800    90805   68      85.00
0       0       78.51   4800    7567    68      85.00
0       6       78.56   4800    7574
1       1       78.57   4800    7565
1       7       78.43   4800    7571
2       2       78.45   4800    7565
2       8       78.58   4800    7570
3       3       78.55   4800    7564
3       9       78.53   4800    7566
4       4       78.54   4800    7564
4       10      78.54   4800    7570
5       5       78.54   4800    7561
5       11      78.55   4800    7568
Core    CPU     Busy%   Bzy_MHz IRQ     PkgTmp  PkgWatt
-       -       78.50   4800    90765   68      84.39
0       0       78.34   4800    7569    68      84.39
0       6       78.58   4800    7573
1       1       78.59   4800    7560
1       7       78.36   4800    7570
2       2       78.52   4800    7563
2       8       78.55   4800    7567
3       3       78.30   4800    7535
3       9       78.58   4800    7566
4       4       78.54   4800    7561
4       10      78.55   4800    7569
5       5       78.55   4800    7564
5       11      78.54   4800    7568
Другие вопросы по тегам