Мой сервер замедлился, и я не знаю почему.
Печать сверху:
top - 14:32:50 up 639 days, 6:30, 1 user, load average: 67.93, 70.63, 79.85
Tasks: 245 total, 1 running, 244 sleeping, 0 stopped, 0 zombie
Cpu(s): 3.9% us, 0.5% sy, 0.0% ni, 94.5% id, 1.0% wa, 0.0% hi, 0.0% si
Mem: 1034784k total, 1021256k used, 13528k free, 4360k buffers
Swap: 1023960k total, 635752k used, 388208k free, 36632k cached
vmstat 10 6
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 110 795604 12328 3980 46676 0 0 0 0 0 0 4 1 95 1
0 97 788848 12052 3960 46256 2985 33 3323 33 429 0 2 1 0 97
0 119 782660 13992 4096 45740 2780 14 2995 360 435 0 2 1 1 96
0 121 775924 15600 3724 42796 3084 0 3443 136 440 0 2 1 0 98
0 113 769392 13576 3476 41968 3002 0 3458 7 426 0 2 1 0 97
0 113 762284 12440 3332 34884 3151 0 3553 61 427 0 2 1 0 97
doitprod2: / var / log # grep -c процессор / proc / cpuinfo
2
iostat 2
tps Blk_czyt/s Blk_zapis/s Blk_czyt Blk_zapis
sda 166,00 7128,00 52,00 14256 104
Хорошо, теперь после kill и запуска некоторых процессов все в порядке. В любом случае спасибо за вашу помощь.
Вероятно, у вас есть процессы UNINTERRUPTIBLE_SLEEP
состояние, обычно они находятся в этом состоянии, потому что они ждут чего-то от оборудования, например, чтения с диска. Эти процессы фактически спят (у вас 244 спящих процесса), но они входят в расчет средней нагрузки. Проверьте свой сервер ввода-вывода с помощью vmstat
и посмотри, много ли у тебя D
статусы на top
или ps
чтобы подтвердить.
РЕДАКТИРОВАТЬ: Видя твой vmstat
вывод дополнительно подтверждает проблему ввода-вывода. Ваш b
столбец под procs
показать в среднем 100 процессов в режиме непрерывного сна. Ваш bi
столбец (блоки, считываемые с блочного устройства) очень высокий, как и si
столбец (память читается из свопа / диска). Наконец, под cpu
заголовок, wa
В столбце показано, что ваш ЦП тратит более 90% на ожидание завершения ввода-вывода.
Вы должны выяснить, почему у вас возникают эти проблемы с вводом-выводом. Это может быть недостаток мощности сервера, дикие процессы и некоторые другие причины, но это определенно ввод-вывод.
Проверьте 1.0% wa у вас наверху, если он становится высоким. Поскольку вы попали в файл подкачки, процессы могут ждать ввода-вывода.
Проверьте cat /proc/sys/fs/file-nr
если первое число близко к третьему (открытые файлы против общего числа открытых файлов).
Вы используете VPS?
Значение iowait (указанное в последнем столбце как «wa») в выводе vmstat очень высокое. И происходит много подкачки (страницы данных перемещаются между физической памятью и свопингом на диске).
Эта машина выиграла бы от большего физического тарана.