Коротка відповідь для сервера - придбати та встановити більше оперативної пам’яті.
Сервер, який зазвичай достатньо досвідчених помилок OOM (Out-Of-Memory), тоді крім опції overcommit sysctl менеджера VM (віртуальної пам'яті) в ядрах Linux, це не дуже добре.
Підвищення кількості свопу (віртуальної пам'яті, яку викачували на диск менеджером пам'яті ядра) допоможе, якщо поточні значення низькі, а використання передбачає багато завдань для кожного такого великого обсягу пам'яті, а не одного чи кількох обробляє кожен запит величезної кількості всієї доступної віртуальної пам'яті (оперативна пам'ять + своп).
Для багатьох застосувань, що виділяють більше, ніж два рази (2x), кількість оперативної пам’яті як swap забезпечує зменшення віддачі від покращення. У деяких великих обчислювальних моделюваннях це може бути прийнятним, якщо уповільнення швидкості є терпимим.
Оскільки оперативна пам’ять (ECC чи ні) може бути досить доступною для скромних кількостей, наприклад, 4-16 ГБ, мушу визнати, я давно не відчував цієї проблеми.
Основи розгляду споживання пам'яті, включаючи використання free
та top
сортування за використанням пам'яті, як дві найпоширеніші швидкі оцінки моделей використання пам'яті. Тому не забудьте зрозуміти значення кожного поля у висновку цих команд як мінімум.
Не маючи конкретних програм (наприклад, база даних, сервер мережевих служб, обробка відео в режимі реального часу) та використання сервера (мало енергетичних користувачів, 100-1000s підключень користувача / клієнта), я не можу придумати жодних загальних рекомендацій щодо роботи з проблема OOM.