Назад | Перейти на главную страницу

Как устранить блокировку веб-сервера (Debian Squeeze)

Время от времени мой веб-сервер так сильно замедляется, что кажется, что он заблокирован. Не удается подключиться по SSH, сайты не обслуживаются. Это VPS, который начинался как Debian 5, который я обновил до тестирования (сжатие). Это типичная установка LAMP с единственной целью - запустить пару сайтов wordpress. Однажды, когда он заблокировался, я зашел на один из сайтов, но он пожаловался на wordpress, что не смог установить соединение с базой данных. Таким образом, казалось, что что-то действительно переваривает процессор, и mysqld либо истекло время ожидания, либо, возможно, не удалось перезапустить. Но поскольку я не мог использовать SSH, я склонен приписывать это ЦП. Но единственные запущенные процессы, кроме ОС и ядра:

Он имеет 512 МБ оперативной памяти и 1,5 ГБ подкачки. Каждый раз, когда я проверяю его, он имеет много свободной памяти и практически не использует свопинг (обычно 2-3 МБ). И так как я использую fail2ban, я не думаю, что у меня ddosed.

Я нашел это в своем электронном письме с журналом регистрации сегодня утром (он был заблокирован вчера поздно вечером, когда было бы очень мало трафика):

6 Time(s):  [<ffffffff810a0ebc>] ? oom_kill_process+0x7e/0x23d
6 Time(s):  [<ffffffff810a1505>] ? __out_of_memory+0x12a/0x141
6 Time(s):  [<ffffffff810a1586>] ? out_of_memory+0x6a/0x94

Больше ничего подозрительного не нашел. Это не может быть хост моего провайдера, потому что я могу подключиться по SSH и перезапустить виртуальную машину, и все в порядке.

Кто-нибудь знает, в каких журналах я должен начать изучать, чтобы найти суть моей проблемы?

Спасибо, парни.

Сообщения довольно ясны. В системе не хватает памяти и места подкачки, поэтому ядро ​​убивает процессы, пытающиеся освободить память. Вы должны увидеть сообщения OOM в файлах журнала в / var / logs.

Следующим шагом является поиск процессов, которые используют память. Я обнаружил, что процессы, которые убиваются, обычно не занимают память. Для этого вам необходимо настроить какую-либо форму мониторинга.

Альтернативный вариант - установить что-то вроде пс-наблюдатель чтобы убить процессы, которые занимают слишком много оперативной памяти. Затем вы можете проверить журнал, какой процесс ps-watcher убивает чаще всего, чтобы определить виновника.