Cpu(s):  4.6%us,  5.5%sy,  0.0%ni, 54.1%id, 35.1%wa,  0.0%hi,  0.7%si,  0.0%st

АЗАЗАЗ У МЕНЯ СЕРВЕР ТОРМОЗИТ.

В общем у меня бомбит от такой хуйни, из-за того что люди не умеют читать вывод top.

  • us - пользовательские приложения. apache, bash’евые скрипты, демоны хуемоны и прочее дерьмо. Хуёво написали код, скорее всего, так что дебагайте свой код. Самое частое - бесконечный цикл без sleep’ов в лупах.
  • sy - системные вещи - всякая хрень внутри ядра, обработка пакетов итд. Тут обычно имеет смысл глянуть на то, как обрабатываются прерывания: cat /proc/interrupts. Раньше был приемлемым рост прерываний где-то на 20000 в сек на 1 прерывание, сейчас я думаю процессоры стали получше, можно считать нормой 30-40 тысяч.
  • wa - простой связанный с вводом выводом, то есть нечто ОЧЕНЬ СИЛЬНО ЖДЁТ когда что-то закончит запись. Скорее всего что-то актвино херачит данными между собой и своими детьми, если выше 70-80 процентов, вероятно проблема либо с диском, либо с сетёвкой.
  • id - это по сути насколько процессор спокоен и как хорошо отдыхает. По идее смотреть сколько занято для мозга проще всего сделав 100%-id
  • остальное какая-то хуета, которую я даже особо и не знаю, да и не сталкивался пока. Такие дела.

Вообще частенько бывает так, что ресурсы сожрал не один какой-то конкретный процесс, а куча его детей и понемногу. К примеру у одного товарища это выглядит так:

# ps aux | grep httpd | wc -l
303

При том что каждый ребёнок жрёт приблизительно 0.2% проца, выходит что 0.1…0.2 * 300 ≈ 30-60% нагрузки. Лучше бы вместо httpd 303 у него был Roland TB 303.