Есть 3 способа логирования нагрузки на процессор и отслеживания процессов ( логирование процессов ) в определенный промежуток времени
1. Записываем каждую секунду среднюю нагрузку на процессор
Файл uptime.log будет в той папке в которой вы запустили скрипт.
while true; do uptime >> uptime.log; sleep 1; done
2. Записываем топ 10 самых ресурсоемких процесса за каждые 5 секунд
Файл ps.log будет в той папке в которой вы запустили скрипт.
while true; do (echo "%CPU %MEM ARGS $(date)" && ps -e -o pcpu,pmem,args --sort=pcpu | cut -d" " -f1-5 | tail) >> ps.log; sleep 5; done
3. Есть в линкусе такая команда как top записываем ее в файл вроде каждые 4 секунды
Файл cpu.log будет в той папке в которой вы запустили скрипт.
top -b > cpu.log
Последний способ потребует много памяти, так как записывает очень много текста
Как запустить команды в фоне читайте в статье linux запуск, завершение и просмотр команд выполняемых в фоновом режиме