Я думаю, что количество процессов, разветвляемых в секунду, на одном из серверов слишком велико. Как я могу отслеживать, какие процессы создаются? Есть ли какой-нибудь инструмент, который может мне помочь? я знаю что могу strace
конкретный процесс, ищущий fork()
, но есть ли что-то подобное, что работает в масштабах всей системы?
Я хотел бы знать хотя бы pid (и имя) и ppid (и имя родителя).
Я имею в виду мониторинг новых fork()
s, а не снимок того, что доступно сейчас.
Я думаю, что количество процессов, разветвляемых в секунду, на одном из серверов слишком велико
Я так не думаю. Насколько я понимаю, все дочерние процессы будут разветвлены при запуске родительского процесса. Так что не так уж много, как вы думаете.
Как я могу отслеживать, какие процессы создаются?
Вы можете сделать это комбинацией ps
и watch
команда (пейджинговая версия):
watch 'ps -eo ppid,pid,comm --forest'