Мы используем команду i7z для проверки производительности Linux-сервера.
Вот пример вывода p>

Однако выходные данные являются динамическими/интерактивными по своей природе. Он постоянно обновляется в режиме реального времени.
(Аналогично htop)
Наша цель — зафиксировать выводить данные с помощью скрипта Python (или любого другого), а затем анализировать эти выходные данные для проверки определенных условий.
- Значения C0, Halt (C1), C3 и C6 должны находиться в определенном диапазоне.
- должен быть ВКЛЮЧЕН для каждого сокета (В приведенном выше примере выходных данных есть два сокета)
Код: Выделить всё
TURBO - должен быть выключен для каждого сокета (В приведенном выше примере выходных данных есть два сокета)
Код: Выделить всё
Hyper Threading - и максимальная частота должны находиться в определенном диапазоне.
Код: Выделить всё
Current Frequency
Усилия
- Команда i7z предоставляет флаг () для перенаправления C0, Halt(C1), C3 и C6 в текстовый файл, который затем можно проанализировать. Итак, пункт 1. решен.
Код: Выделить всё
-w l

- Для захвата вывода используйте команду Linux i7z > i7zoutput.txt был выполнен с использованием python3. Затем он создал i7zoutput.txt, который можно прочитать с помощью python3. Однако в нем много недостающих данных. В частности, данные Socket [1] были усечены.
Код: Выделить всё
command = f"echo {password} | sudo -S i7z > i7zoutput.txt" result = subprocess.run(command, shell=True, check=True, text=True, capture_output=True, timeout=20)
< час />
Подробнее здесь: https://stackoverflow.com/questions/789 ... nux-server