2

Я пишу сценарий, который записывает память и использование процессора в файл журнала, каждый час на cronjob. Файл журнала будет выглядеть примерно так:

"/n ==== Загрузка ЦП ядром ===="

Core0: 59,05% использовано

Core1: 57,68% использовано

"/n ==== Использование ОЗУ / ЦП процессом ===="

PID | ОЗУ используется (КБ) | % Процессора используется | COMM | USER

01 | 00003352 | 0,15% | / sbin / launchd | корень
11 | 00009220 | 0,65% | / usr / libexec / Использование | корень
12 | 00005504 | 7,81% | / usr / libexec / kex | корень

Скорее всего, он будет использовать одну команду для использования ЦП ядром и другую команду для использования ОЗУ / ЦП процессом, но я мог бы использовать одну команду для обеих или более двух команд всего.

Следующие команды показывают некоторые или все необходимые мне данные, но, к сожалению, они не являются решениями:

  • top нет команды -b в OS X, в отличие от Linux. Это означает, что он автоматически обновляется и, следовательно, не подходит для записи в файл журнала. Команда для получения использования% на процессор / ядро?

  • htop - интерактивная программа, не подходящая для записи в файл журнала. И в любом случае он показывает загрузку процессора ядром в виде гистограммы ASCII. Команда для получения использования% на процессор / ядро?

  • ps может сильно недооценивать использование памяти, например, когда страницы совместно используются или когда несколько приложений используют одни и те же динамически связанные библиотеки. В противном случае я бы использовал ps -eo "pid rss pmem pcpu comm user" .

  • mpstat не на OS X и не доступен с homebrew.

Допустимо, чтобы мой пользователь устанавливал homebrew из командной строки, но сборка из исходного кода и добавление команд в bash вручную - это не так.

Кроме того, все время должно быть сделано в cronjob, поэтому я не могу использовать команды автообновления и убивать их после первого цикла.

Спасибо за помощь. :)

0