У меня проблема с KVM-виртуализированным сервером (на основе Proxmox), работающим на Debian 7.8 и PLESK. Иногда бывает нагрузка> 200 (sic!), И я просто не понимаю, почему.
Мониторинг показывает возрастающую нагрузку (сначала: 19, несколько минут спустя: 50, несколько минут спустя: 200), но журналы ничего не показывают за этот период.
Я просмотрел системный журнал и сообщения, и все службы работают нормально.
Если я попытаюсь подключиться через VNC, я получаю такие сообщения, как kernel hung tasks. Task XYZ stuck for 120 sec
.
Есть идеи, что я могу здесь сделать?
Найти виновника большой нагрузки на систему непросто без обширной информации о приложениях, запущенных на сервере.
Поскольку вы можете воспроизводить каждые 30 минут, вы можете использовать следующий сценарий оболочки и загрузить его выходные данные непосредственно перед сбоем сервера:
#!/bin/sh
while true
do
date >> /tmp/monitoring$$.txt
echo "PS reports:" >> /tmp/monitoring$$.txt
ps aux | sort -nrk 3,3 | head -n 5 >> /tmp/monitoring$$.txt
echo "I/O stat -c:" >> /tmp/monitoring$$.txt
iostat -c >> /tmp/monitoring$$.txt
echo "I/O stat -d:" >> /tmp/monitoring$$.txt
iostat -d >> /tmp/monitoring$$.txt
echo "I/O stat -m:" >> /tmp/monitoring$$.txt
iostat -m >> /tmp/monitoring$$.txt
echo "vmstat:"
vmstat >> /tmp/monitoring$$.txt
echo "mpstat:"
mpstat -A >> /tmp/monitoring$$.txt
sleep 300
done
В $$
будет заменен на pid сценария оболочки, что означает, что новый файл создается каждый раз, когда вы его запускаете. Пусть он работает в фоновом режиме.