Команда top выводит вид системы в реальном времени процессов и их использование ресурсов в системе.
Я хотел бы запустить программу на установке сервера, которая запускает множество различные процессы, с непредсказуемыми PID, и фиксировать изменяющийся вывод top, не полагаясь на соединение ssh из среды рабочего стола. Предпочтительно, я хотел бы иметь возможность «переигрывать» это в той же среде CLI, как если бы это было видео, но мог бы перемещать файл в другом месте, чтобы просмотреть его следующим образом.
Есть ли способ , используя только командную строку, от прямого терминала при установке сервера, чтобы я мог записать этот вывод в течение определенного периода времени? Либо введите значение времени, либо вручную запустив и остановив процесс записи.
Обычный режим работы top не подходит для сохранения вывода в файле.
Вы можете использовать -b (пакетный) режим top вместе с соответствующим временным интервалом для проверки (-d) и количества итераций для count (-n).
Вы можете также указать конкретные PID (-p) для проверки только.
Для Пример:
top -b -d 5 -n 3 -p 1089,2345 >output.txt
будет запускать top в пакетном режиме, будет выполнять 3 итерации по 5 секунд каждый и будет контролировать только два упомянутых PID (1089,2345). Выход будет сохранен в output.txt.
Измените значения в соответствии с вашими потребностями.
Это не совсем то же самое, что top, но вы можете использовать этот скрипт:
while true; do
echo
echo $(date)
echo
ps -eo pid,user,pri,ni,vsize,rss,stat,pcpu,pmem,time,wchan --sort=-pcpu | head -20
sleep 5
done > ps.log
У вас будет более или менее информация top в файле ps.log. Подробнее о команде ps см. [F6].