Я хотел бы периодически заставить снимок использования на ядро сохранять в файл, в основном та же информация как htop. Однако htop является интерактивным, таким образом, это не является дружественным по отношению к сценариям, есть ли альтернативный способ получить эту информацию?
Рассмотрим sysstat
(в обычных репозиториях).
. По запросу предоставляется информация, подобная top
. Вот пример части использования
12:00:01 AM CPU %user %nice %system %iowait %steal %idle
12:05:01 AM all 0.87 0.00 0.84 0.17 0.00 98.12
12:15:01 AM all 0.78 0.00 0.81 0.17 0.00 98.24
12:25:01 AM all 0.77 0.00 0.81 0.19 0.00 98.22
12:35:01 AM all 0.77 0.00 0.82 0.19 0.00 98.23
12:45:01 AM all 1.99 0.35 0.97 0.27 0.00 96.41
12:55:01 AM all 0.78 0.00 0.79 0.16 0.00 98.27
Он также регистрирует использование памяти и трафик через интерфейсы.
Он достаточно настраивается для удовлетворения ваших потребностей.
Хорошая рецензия здесь .
Можно добраться на базовое использование легко с dstat
как в
dstat --noupdate --output cpustats.csv -c -C 0,1,2,3 60
- noupdate отключает промежуточные обновления, когда указанная задержка> 1 как в этом случае.
- вывод cpustats.csv производит результаты в разделенный файл значения запятой имени при условии, что можно импортировать в calc или любимую программу электронной таблицы. пропустите это для экранного вывода как показанный ниже.
- c выбирает вывод CPU только
- C 0,1,2,3 отчета о ядрах 0 до 3
60 в конце являются задержкой в секундах между чтениями.
Вы свободны скорректировать эти параметры (и больше) для получения точного вывода, который Вы ищете.
dstat является легко устанавливаемым после включения репозитория Вселенной, если у Вас уже нет его с командой sudo apt install dstat
Демонстрационный вывод:
-------cpu0-usage--------------cpu1-usage--------------cpu2-usage--------------cpu3-usage------
usr sys idl wai hiq siq:usr sys idl wai hiq siq:usr sys idl wai hiq siq:usr sys idl wai hiq siq
3 1 95 0 0 0: 4 1 95 0 0 0: 3 1 95 1 0 0: 3 1 93 2 0 0
74 3 21 2 0 0: 74 3 17 5 0 0: 72 4 11 12 0 1: 73 3 20 3 0 0
Дальнейшая информация доступна через man dstat
Много опций обсуждены на нашем родственном сайте в, Получают загрузку на ядро процессора в сценарии оболочки
Возможно, самое соответствующее mpstat
например.
$ mpstat -u -P ALL 1 1
Linux 4.15.0-23-generic (t400s) 2018-07-26 _x86_64_ (2 CPU)
12:40:13 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
12:40:14 PM all 3.50 0.00 1.50 0.50 0.00 0.00 0.00 0.00 0.00 94.50
12:40:14 PM 0 5.00 0.00 1.00 1.00 0.00 0.00 0.00 0.00 0.00 93.00
12:40:14 PM 1 2.02 0.00 1.01 1.01 0.00 0.00 0.00 0.00 0.00 95.96
Average: CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
Average: all 3.50 0.00 1.50 0.50 0.00 0.00 0.00 0.00 0.00 94.50
Average: 0 5.00 0.00 1.00 1.00 0.00 0.00 0.00 0.00 0.00 93.00
Average: 1 2.02 0.00 1.01 1.01 0.00 0.00 0.00 0.00 0.00 95.96
Не легко получить информацию непосредственно от htop
по причинам, описанным здесь: вывод htop в человекочитаемый файл