Краткий ответ для сервера - купить и установить больше оперативной памяти.
Сервер, который обычно испытывает ошибки OOM (Out-Of-Memory), а затем, помимо опции sysctl менеджера VM (виртуальной памяти) в ядрах Linux, это не очень хорошая вещь.
Увеличение объема подкачки (виртуальной памяти, которая была выгружена на диск диспетчером памяти ядра) поможет, если текущие значения будут низкими, и использование включает в себя множество задач, каждый из которых имеет такой большой объем памяти, а не одну или несколько обрабатывает каждый запрос огромного объема доступной виртуальной памяти (RAM + swap).
Для многих приложений, выделяющих более двух раз (в 2 раза) объем оперативной памяти в качестве подкачки, снижается отдача от улучшений. В некоторых больших вычислительных симуляциях это может быть приемлемо, если замедление скорости терпимо.
С оперативной памятью (ECC или нет), которая должна быть достаточно доступной для скромных объемов, например, 4-16 ГБ, я должен признать, что я не испытывал этой проблемы сам в течение длительного времени
Основы рассмотрения потребления памяти, включая использование free
и top
, отсортированные по использованию памяти, как две наиболее распространенные быстрые оценки моделей использования памяти. Поэтому убедитесь, что вы понимаете значение каждого поля в выводе этих команд как минимум.
Без специфики приложений (например, базы данных, сервера сетевых услуг, обработки видео в реальном времени) и использования сервера (мало опытных пользователей, 100–1000 соединений пользователя / клиента), я не могу придумать какие-либо общие рекомендации в отношении работы с проблема ООМ.