Я участвую в поддержке Ubuntu VPS, на котором работают наши веб-сайты django (nginx / apache / mod_wsgi), и у нас были некоторые всплески памяти, которые либо приводили к смерти базы данных, либо вызывали панику ядра, когда система управления памятью могла Не найти никаких убиваемых процессов. Я работаю над устранением всплесков памяти, но мне интересно, могу ли я что-нибудь сделать, чтобы лучше справиться с проблемой, если она возникнет снова.
Существуют ли какие-либо инструменты, которые я мог бы использовать для обнаружения всплесков памяти, а затем, скажем, убить вызывающий нарушение процесс и отправить электронное письмо администратору сервера, чтобы исправить это? Убить один веб-сайт, чтобы сервер мог продолжать работать, конечно, предпочтительнее, чем падение всего этого.
Кроме того, нам было предъявлено обвинение 600 долларов США для обслуживания в нерабочее время, потому что мы должны были заставить хостинговую компанию перезапустить сервер - это стандартная практика среди хостинговых компаний? Другой провайдер, с которым я работаю, предоставляет панель, с помощью которой я могу самостоятельно останавливать и запускать сервер, и, учитывая, что все, что требовалось - это перезагрузка, 600 долларов кажутся чрезмерно чрезмерными. (Это NZD, это около 445 долларов США)
600 долларов - это определенно дорого для перезапуска в нерабочее время. Предлагаю поискать другого хозяина. Для сравнения, вы можете получить несколько месяцев хостинга в месте, которое предлагает автоматический перезапуск за такую сумму.
Проверьте monit для автоматического уничтожения процессов. Вы можете настроить его для наблюдения за процессором / памятью или даже за состоянием сервера, и заставить его принимать меры, если что-то выглядит ненормальным.
Вы можете настроить систему так, чтобы она не перегружала память. Использовать sysctl
установить vm.overcommit
до 0.
445 долларов - это много, но: вы читали мелкий шрифт? перед у тебя была проблема? У вас был план, что делать, если потребуется перезагрузка? Это одна из тех вещей, которые могут быть очевидны в ретроспективе, но должен планироваться заранее. И, честно говоря, 445 долларов могут быть высокими, но это не ужасная цена за этот урок.