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

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

Мануал

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

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

Сохранение вывода команды Top

Во-первых, мы перенаправим вывод команды в файл top.txt в текущем рабочем каталоге, выполнив следующую команду:

 # top -b -n 1 > top.txt 

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

# less top.txt
top - 05:27:38 up 1:09, 1 user, load average: 0.36, 0.12, 0.11
Tasks: 228 total, 1 running, 227 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.7 us, 1.9 sy, 1.2 ni, 91.8 id, 1.3 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem : 2029876 total, 331784 free, 743740 used, 954352 buff/cache
KiB Swap: 2094076 total, 2091308 free, 2768 used. 1074884 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7801 root 20 0 41800 3832 3224 R 5.9 0.2 0:00.02 top
1 root 20 0 119744 5944 4040 S 0.0 0.3 0:02.69 systemd 

Если после этого вам нужно захватить пять итераций  команды top, выполните команду, как показано ниже:

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

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

 # cat top-5iterations.txt | grep Tasks
Tasks: 226 total, 1 running, 225 sleeping, 0 stopped, 0 zombie
Tasks: 226 total, 2 running, 224 sleeping, 0 stopped, 0 zombie
Tasks: 226 total, 1 running, 225 sleeping, 0 stopped, 0 zombie
Tasks: 226 total, 2 running, 224 sleeping, 0 stopped, 0 zombie
Tasks: 226 total, 1 running, 225 sleeping, 0 stopped, 0 zombie 

 

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

Чтобы получить PID выполняющегося процесса, введите команду pidof в соответствие с именем текущего процесса.

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

 # pidof crond
# top -p 678 -b -n3 > cron.txt
# cat cron.txt
top - 05:33:52 up 1:13, 1 user, load average: 0.60, 0.20, 0.13
Tasks: 0 total, 0 running, 0 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.6 us, 1.8 sy, 1.1 ni, 92.2 id, 1.2 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem : 2029876 total, 328304 free, 747112 used, 954460 buff/cache
KiB Swap: 2094076 total, 2091308 free, 2768 used. 1071512 avail Mem 

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

Вывод цикла также может быть перенаправлен в файл.

 # for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 

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

 # for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done >> cron.txt
# cat cron.txt
top - 05:33:52 up 1:13, 1 user, load average: 0.60, 0.20, 0.13
Tasks: 0 total, 0 running, 0 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.6 us, 1.8 sy, 1.1 ni, 92.2 id, 1.2 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem : 2029876 total, 328304 free, 747112 used, 954460 buff/cache
KiB Swap: 2094076 total, 2091308 free, 2768 used. 1071512 avail Mem 

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

 

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий