Узнайте, какие процессы разветвляются
Мой сервер кажется немного медленным, поэтому я решил установить munin, чтобы посмотреть, что происходит. Одна выдающаяся статистика состоит в том, что сервер разветвляется 50 раз в секунду, что для моего сервера кажется немного чрезмерным.
Как мне узнать, что разветвляется все время? Я использую nginx, postgres и uwsgi, но я не понимаю, почему какой-либо из них должен вызывать это так много.
Как я могу узнать, какие процессы ответственны за это? Я пробовал Google, но я могу только найти vmstat -f
это говорит мне текущее число - так что ничего больше, чем Мунин дает мне.
Коробка - это виртуальная машина, использующая Centos 5 (она работает уже 4 года, так что немного староват, у меня просто нет времени перенастроить что-то более новое)
2 ответа
Вы можете подключиться к различным процессам с помощью strace, а затем искать вызовы для fork/vfork/clone.
Я знаю, что спрашивал об этом давным-давно, но ответом оказалось, что это номер физической машины, а не виртуальной машины. Таким образом, все виртуальные машины вместе на физическом сервере обрабатывали 50 раз в секунду. Скорее хорошо, как стат