Как предотвратить зависание linux сервера при нехватке озу/цпу?
Здравствуйте! Уже довольно долго наблюдаю такую проблему, на сервере работают несколько очень ресурсоемких java-приложений, периодически сервер полностью виснет (не отвечает по ssh, помогает только перезагрузка хостером). Отследить проблему никак не получается, хостер ничего внятного не советует, в логах ничего интересного. Возможно ли, что такое происходит от нехватки ресурсов? Что можно сделать?
У меня была подобная проблема на сервере у хостингера.
1. atop - сервис который записывает в логи каждую секунду какие программы сколько ресурсов потребляют.
2. в cron добавить команду echo 3 > /proc/sys/vm/drop_caches - это сброс кэша файлов которые использовались для отработки программ. Ставиться периодически, в зависимости от частоты загрузки памяти, к примеру каждый час. мне помогло.
Похоже на Out of memory. Уверены, что в syslog нет ничего интересного?
Сколько свободной оперативной памяти остаётся после запуска всех необходимых приложений?
Попробуйте добавить оперативы.
Установите лимиты, пусть процессы пистреливаются системой, а уже по core-файлам будете разбираться что происходит. Лишь бы процессы в swap не уходили.. Ну и профильнуть ваши приложения не помешает, и поставьте мониторинг какой нибудь, типа collectd + influxdb + grafana