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

Мой VPS не отвечает, но после перезагрузки все в порядке. Зачем?

Сервер внезапно кажется очень занятым и не отвечает ни на что: ssh или веб-запросы.

Это автоматически происходило несколько раз, поэтому, очевидно, что-то не так с моей системой.

После перезагрузки все возвращается в норму, а веб-сайты работают быстро и быстро реагируют. Но примерно через 24 часа он внезапно снова попадает в ту же проблему - очень занят и занят, ни на что не отвечает, на простую перезагрузку уходили десятки минут.

Понятия не имею, что может быть причиной этого. Неверная конфигурация? Мой код PHP? Но все мои сайты были в порядке на предыдущем хосте.

Мой дистрибутив - Debian 5.0. Я установил:

  1. apache, mysql, php
  2. rsnapshot (некоторые задания cron)
  3. постфикс
  4. vsftpd (хотя автоматически останавливается)
  5. chkrootkit
  6. fail2ban

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

Скорее всего утечка памяти. Иногда это может вызвать проблемы, которые вы описали. Если у вас есть память подкачки, тяжелая подкачка может сильно замедлить работу до такой степени, что она станет практически непригодной для использования. В противном случае ошибка OOM убьет случайные приложения и приведет к сбою системы.

Лучше всего будет проверить свои журналы и посмотреть, есть ли ошибки OOM ядра. В противном случае вы можете рассмотреть возможность мониторинга использования памяти, чтобы увидеть, не станет ли оно слишком большим со временем. Убедившись, что памяти недостаточно, вы можете перейти к отслеживанию программы-нарушителя, вызвавшей это.

Обновить:

Единственный способ избежать подкачки - уменьшить объем памяти. Один из способов сделать это - изменить ваши приложения и настройки. Некоторые вещи, которые вы можете рассмотреть:

  1. Дамп Apache для легкого веб-сервера, такого как lighttpd / nginx. Уменьшите количество php экземпляры, которые он порождает при обработке скриптов.
  2. Настройте MySQL на примере /usr/share/doc/mysql-server-5.0/example/my-small.cnf Файл конфигурации. Отключите сети, innodb, bdb, чтобы уменьшить занимаемую площадь.
  3. Настройте PHP, чтобы ограничить объем памяти со 128 МБ по умолчанию до того, что вам нужно.
  4. Postfix может потреблять ресурсы, когда запускает несколько процессов для обработки памяти. Подумайте о переходе на qmail или передаче вашего почтового сервера на аутсорсинг.

Ура.