Czy to ważne, czy wielkość obszaru wymiany w Linuksie została ustawiona za mała (powiedzmy 1 Gb), a główna pamięć RAM jest 128Gb
?
Czy zawsze powinniśmy ustawić wielkość obszaru wymiany na dwukrotność pamięci RAM?
AKTUALIZACJA:
Cześć, dziękuję wszystkim za odpowiedź na to pytanie. W rzeczywistości mam to pytanie, ponieważ napotkaliśmy pewne problemy podczas korzystania z małego systemu klastrowego. Problemy są zamieszczone tutaj . Poniższy obrazek przedstawia niektóre informacje o niektórych komputerach w tym małym klastrze.
Jest MEMTOT
to całkowita ilość pamięci RAM tego komputera, SWAPTO
całkowita ilość obszaru SW AP tego komputera i SWAPUS
używana ilość obszaru SWAP. Jak pokazano na zdjęciu, użycie SWAP jest rzeczywiście niewielkie.
Próbując rozwiązać problemy zamieszczone tutaj , nie jesteśmy pewni, czy wielkość obszaru SWAP jest ustawiona zbyt mała, co jest po prostu 1Gb
względne 128Gb
, jak pokazano na rysunku. Mam więc to pytanie. Przepraszam, że nie opublikowałem wszystkich informacji tła w oryginalnej wersji tego postu. Wcześniej myśleliśmy również, że jeśli ilość pamięci RAM jest duża, możemy ustawić niewielką ilość SWAP. Próbowaliśmy ustawić SWAP c0148
jako na 16Gb
, problem wydaje się być żaden (być może powinniśmy wyciągnąć taki wniosek po długim obserwowaniu ich statusów).
Nie jesteśmy specjalistami w systemie Linux i nie mogliśmy wyjaśnić, dlaczego tak się stało. Jest prawdopodobne, że jest to system klastrowy, a SGE zarządza zasobami każdego komputera i musi mieć względnie dużą liczbę SWAP, ponieważ z tego komputera może korzystać wiele zadań przesłanych przez wielu użytkowników.
Ponadto, jeśli po prostu ustawimy zbyt dużą liczbę SWAP, warto również rozważyć inne problemy, które spowodowałoby.
źródło
Odpowiedzi:
Jądro Linux ma ustawienie kontrolujące, jak często używana jest zamiana, nazywane
swappiness
, opisane na stronie /unix/88693/why-is-swappiness-set-to-60-by-default .Zamiana zera oznacza, że zamiana zostanie użyta tylko wtedy, gdy w systemie zabraknie pamięci. Wymiana 100 zmusza programy do natychmiastowego użycia wymiany.
Dostosuj swój system tak, jak chcesz, ale posiadanie 128 GB pamięci RAM jest bardzo mało prawdopodobne, aby w twoim systemie łatwo zabrakło pamięci, więc posiadanie 2/4 GB wymiany może być wystarczające. Uruchomienie systemu bez partycji wymiany nie jest wskazane, ale możliwe.
Myślę, że reguła obszaru wymiany wynosząca dwukrotność pamięci RAM jest nieaktualna i jest przydatna tylko w systemach, które mają około 1 GB pamięci RAM i zawsze są na skraju pełnego wykorzystania pamięci RAM.
źródło
swappiness
na 0 wydaje się logiczne przy dużej ilości pamięci RAM, może być lepiej zachować ją jako domyślną wartość60
: http://unix.stackexchange.com/a/88820/50687 .Uważam, że zasada 2x jest przestarzała. Nasze stacje robocze mają 16 GB pamięci RAM, zwykle zużywamy tylko około 25% tego, a prawie nie używamy ponad 50%. Dlatego do naszych celów nie korzystamy z żadnej wymiany.
Ponieważ musisz zdecydować, ile wymiany chcesz utworzyć, i teoretycznie jest to, że dowolna liczba, którą wybierzesz, w pewnym momencie nie wystarczy, dlaczego więc nie wybrać 0? Lub - dlaczego nie po prostu zainstalować więcej pamięci RAM?
Uważam, że jest to bardzo osobista decyzja oparta na tym, jak komputer będzie używany i ile ma pamięci RAM.
źródło
O ile nie zamierzasz wykonywać obliczeń zajmujących pamięć, w ogóle nie potrzebujesz wymiany (ale lepiej mieć małą partycję wymiany). Ale zamiana> ram jest potrzebna, jeśli zamierzasz użyć funkcji zawieszenia na dysk.
źródło