Сбой сервера Rackspace Linux
Недавно я перешел в The Cloud с сервера с нуля для личного пользования, и я не мог быть счастливее. За исключением одного: мой сервер выходит из строя примерно раз в неделю.
Rackspace был действительно замечательным и очень полезным, и я хочу остаться с ними и рекомендовать их другим. Но с этой проблемой мне сказали, что серверу просто не хватает памяти, и мне нужно разобраться с этим. Хотя я в порядке с этим, и это похоже на мою проблему, я никогда не слышал о сбое машины Linux из-за нехватки памяти. По моему опыту, в худшем случае он будет работать очень медленно, иначе ядро начнет убивать процессы.
Некоторые детали:
- Запуск Gentoo Linux (в актуальном состоянии)
- 512 МБ ОЗУ, 1 ГБ
- Службы установлены и работают:
- 2 процессора Apache 2 (1 минимум, для обслуживания статических / кэшированных ресурсов и прокси; 2 имеет cgi, mod_perl и mod_jk)
- 2 экземпляра Tomcat (1 имеет 2 приложения, которые я сделал, другое только для Nexus)
- Mysql
- Когда происходит сбой:
- сервер может быть проверен
- ssh соединение висит бесконечно
- консоль разрешит ввод имени пользователя, но пароль никогда не появится. через 60 секунд он истекает, и я получаю еще один запрос на вход. повторение.
- службы (http, tomcat, mysql) не могут связаться; Соединение будет зависать и не сообщать 404, сервер не найден и т. Д.
- Softboot не будет работать, часто приходится выполнять многократную перезагрузку (даже с 30-минутным ожиданием между попытками перезагрузки)
Я запускал эту же настройку на серверах на протяжении многих лет, но только с 256 МБ ОЗУ. Единственная разница здесь - я на виртуальной машине.
Мой вопрос может принять одну из двух форм: у кого-нибудь была похожая проблема с облаком Rackspace или другими облачными хостами? (и если да, то каково было решение?) или; Какой хороший способ отследить мою проблему? Я устанавливаю Cron, который выводит uptime
а также free
к файлу каждую минуту, чтобы я мог проверить его после следующего сбоя, но это кажется вздорным.
Полное раскрытие информации: я являюсь разработчиком программного обеспечения по профессии, так что именно в этом мой опыт, но у меня около 15 лет опыта использования Linux для настольных компьютеров и серверов как для личного, так и для профессионального использования.
1 ответ
Еще один отличный способ отслеживать использование памяти - установить sar
на вашей коробке Linux. Если вы используете Debian, он может быть указан как sysstat
, С помощью sar -r
даст вам представление о том, что происходит в вашей памяти и сетевой статистики.