Krótką odpowiedzią dla serwera jest zakup i instalacja większej ilości pamięci RAM.
Serwer, który rutynowo doświadczał błędów OOM (brak pamięci), a następnie oprócz opcji overcommit sysctl menedżera VM (pamięci wirtualnej) w jądrach Linuksa, nie jest to dobra rzecz.
Zwiększenie ilości wymiany (pamięci wirtualnej, która została stronicowana na dysk przez menedżera pamięci jądra) pomoże, jeśli bieżące wartości są niskie, a użycie wiąże się z wieloma zadaniami dla każdej tak dużej ilości pamięci, a nie z jedną lub kilkoma przetwarza każde żądanie dużej ilości całkowitej dostępnej pamięci wirtualnej (RAM + swap).
W przypadku wielu aplikacji, które przydzielają więcej niż dwa razy (2x) ilość pamięci RAM jako swap, zmniejsza się zwrot z poprawy. W niektórych dużych symulacjach obliczeniowych może to być dopuszczalne, jeśli spowolnienie prędkości jest możliwe do wytrzymania.
Pamięć RAM (ECC lub nie) jest dość przystępna dla niewielkich ilości, np. 4-16 GB, muszę przyznać, że od dawna nie doświadczyłam tego problemu.
Podstawy spojrzenia na zużycie pamięci, w tym użycie free
i top
posortowane według zużycia pamięci, jako dwóch najczęstszych szybkich ocen wzorców wykorzystania pamięci. Upewnij się więc, że rozumiesz przynajmniej znaczenie każdego pola w danych wyjściowych tych poleceń.
Bez specyfiki aplikacji (np. Bazy danych, serwera usług sieciowych, przetwarzania wideo w czasie rzeczywistym) i użycia serwera (niewielu zaawansowanych użytkowników, 100–1000 połączeń użytkownik / klient), nie mogę wymyślić żadnych ogólnych zaleceń dotyczących radzenia sobie z problem OOM.