Поиск по сайту:

Как сохранить вывод команды Top в файл


Команда Linux top широко используется системными администраторами для отображения системной статистики в режиме реального времени относительно время безотказной работы системы и средней нагрузки, используемой памяти, выполняемые задачи, сводку процессов или потоков и подробную информацию о каждом запущенном процессе.

Однако, помимо просмотра работающей системы в реальном времени, выходные данные команды top можно сохранить в файл, используя флаг -b, который предписывает top работать в пакетном режиме, и -n, чтобы указать количество итераций, которые должна вывести команда.

В приведенном ниже примере мы перенаправим вывод top команды в файл top.txt в текущем рабочем каталоге. Аргумент -n будет использоваться для отправки только одного снимка команды в указанный файл.

top -b -n 1 > top.txt

Чтобы прочитать полученный файл, используйте утилиту чтения файлов командной строки, например команду cat, less или more.

less top.txt

Чтобы получить пять итераций top команды, выполните команду, как показано в приведенном ниже фрагменте.

top -b -n 5 > top-5iterations.txt

Чтобы отобразить только количество запущенных задач из полученного файла, используйте фильтр grep, как показано в примере команды ниже.

cat top-5iterations.txt | grep Tasks

Чтобы сделать снимок определенного процесса в top-утилите, выполните команду с флагом PID (-p). Чтобы получить PID запущенного процесса, введите команду pidof против имени запущенного процесса.

В этом примере мы будем отслеживать процесс cron с помощью команды top, сделав три снимка PID.

pidof crond
top -p 678 -b -n3 > cron.txt
cat cron.txt

Используя итерационный цикл for, мы можем отображать статистику процесса через его PID каждые две секунды, как показано в примере ниже. Вывод цикла также можно перенаправить в файл. Мы будем использовать тот же PID cron, что и в примере выше.

for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done	

Перенаправить вывод цикла в файл.

for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done >> cron.txt
cat cron.txt

Это всего лишь несколько примеров того, как вы можете отслеживать и собирать статистику системы и обработки с помощью команды top.