Как отобразить в терминале процент информации о загрузке ЦП, установленный утилитой 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