Jak zdecydować, jaki rozmiar dokonać wymiany na nowym komputerze z systemem Linux (Debian) z 2-4 GB pamięci RAM? Czy naprawdę potrzebuję przestrzeni wymiany?
Jak zdecydować, jaki rozmiar dokonać wymiany na nowym komputerze z systemem Linux (Debian) z 2-4 GB pamięci RAM? Czy naprawdę potrzebuję przestrzeni wymiany?
Odpowiedzi:
Istnieje wiele sposobów, aby dowiedzieć się, ile wymiany używasz w maszynie. Typowe sugestie wykorzystują formuły oparte na pamięci RAM, takie jak 2 x RAM, 1,5 x RAM, 1 x RAM, .75 x RAM i .5 x RAM. Wiele razy formuły różnią się w zależności od ilości pamięci RAM (więc pudełko z 1 GB pamięci RAM może używać 2 x wymiany pamięci RAM (2 GB), podczas gdy pudełko z 16 GB pamięci RAM może korzystać z wymiany .5 x pamięci RAM (8 GB).
Inną rzeczą do rozważenia jest to, do czego będzie używane pudełko. Jeśli będziesz mieć dużą liczbę równolegle działających procesów uruchomionych na komputerze, ale znaczna ich liczba będzie bezczynna przez pewien czas, wówczas dodanie dodatkowej wymiany ma sens. Jeśli zamierzasz uruchomić niewielką liczbę krytycznych procesów, dodanie dodatkowego zamiany ma sens (może się to wydawać sprzeczne z intuicją, ale wyjaśnię to za chwilę). Jeśli korzystasz z pudełka jako pulpitu, dodanie dodatkowej wymiany ma sens.
Jeśli chodzi o to, czy powinieneś zamienić swap, tak, powinieneś. Zawsze powinieneś uwzględniać przestrzeń wymiany, chyba że naprawdę wiesz, co robisz i naprawdę masz ku temu dobry powód.
Zobacz, jak działa jądro Linuksa, zamiana nie jest używana tylko wtedy, gdy wyczerpałeś całą pamięć fizyczną. Jądro Linux pobierze aplikacje, które nie są aktywne (śpią), a po pewnym czasie przeniesie aplikację w celu zamiany z rzeczywistej pamięci. W rezultacie, gdy potrzebujesz tej aplikacji, nastąpi chwilowe opóźnienie (zwykle tylko sekunda lub dwie), podczas gdy pamięć aplikacji jest odczytywana z zamiany na RAM. I zwykle jest to dobra rzecz.
Umożliwia to uśpienie nieaktywnych aplikacji, zapewniając dostęp do dodatkowej pamięci RAM dla aktywnych aplikacji. Ponadto Linux użyje dowolnej dostępnej (nieprzydzielonej) pamięci RAM na komputerze jako pamięci podręcznej dysku, dzięki czemu większość (powolnych) operacji na dysku jest szybsza i bardziej responsywna. Zamiana nieaktywnych procesów zapewnia większą pamięć podręczną dysku i ogólnie przyspiesza pracę komputera.
Wreszcie, spójrzmy prawdzie w oczy, miejsce na dysku jest tanie. Bardzo tanie. Naprawdę nie ma żadnego dobrego powodu, aby nie przesuwać (względnie) niewielkiej ilości miejsca na zamianę. Gdybym pracował z 2 GB - 4 GB pamięci RAM na komputerze, prawdopodobnie ustawiłbym przestrzeń wymiany na przynajmniej równą pamięci RAM. Gdyby było mniej niż 2 GB pamięci RAM, nadal korzystałbym z co najmniej 2 GB wymiany.
AKTUALIZACJA: Jako doskonały komentarz wspomniany (i zapomniałem go dołączyć), jeśli używasz laptopa lub komputera stacjonarnego, który możesz chcieć przełączyć w tryb hibernacji (Suspend to Disk), to zawsze chcesz przynajmniej tyle samo zamień jak masz pamięć. Miejsce wymiany zostanie wykorzystane do przechowywania zawartości pamięci RAM w komputerze podczas „uśpienia”.
Red Hat zaleca następującą formułę dla serwerów z dużą ilością pamięci RAM:
if MEM < 2GB then SWAP = MEM*2 else SWAP = MEM+2GB
Jeśli twój system ma 1 GB pamięci RAM, twoja zamiana będzie wynosić 2 GB, dla 16 GB będzie to 18 GB.
Późne odpowiedź, i myślę, że to dość dużo pokryte wybranej odpowiedzi, ale istnieje jakiś dobry i łatwo strawne informacji w odpowiedzi udzielonej przez @ssapkota tutaj (kopia / wklejony poniżej).
Oto bardzo dobra rekomendacja RedHat: Zalecana przestrzeń wymiany systemu
Fragment tego samego linku:
W poprzednich latach zalecana ilość przestrzeni wymiany rosła liniowo wraz z ilością pamięci RAM w systemie. Ale ponieważ ilość pamięci we współczesnych systemach wzrosła do setek gigabajtów, obecnie wiadomo, że ilość potrzebnej przestrzeni wymiany jest funkcją obciążenia pamięci działającego w tym systemie. Biorąc jednak pod uwagę, że przestrzeń wymiany jest zwykle wyznaczana w czasie instalacji i że może być trudne wcześniejsze ustalenie obciążenia pamięci systemu , zalecamy określenie wymiany systemu za pomocą poniższej tabeli.
Aktualna tabela (stan na grudzień 2012 r.):
Amount of RAM in the system Recommended swap space Recommended swap space
if allowing for hibernation
--------------------------- ---------------------------- ---------------------------
2GB of RAM or less 2 times the amount of RAM 3 times the amount of RAM
2GB to 8GB of RAM Equal to the amount of RAM 2 times the amount of RAM
8GB to 64GB of RAM 0.5 times the amount of RAM 1.5 times the amount of RAM
64GB of RAM or more 4GB of swap space No extra space needed
Oryginalny stół:
Amount of RAM in the System Recommended Amount of Swap Space
4GB of RAM or less a minimum of 2GB of swap space
4GB to 16GB of RAM a minimum of 4GB of swap space
16GB to 64GB of RAM a minimum of 8GB of swap space
64GB to 256GB of RAM a minimum of 16GB of swap space
256GB to 512GB of RAM a minimum of 32GB of swap space
Zależy to całkiem od tego, co z tym robisz. Przy odpowiednim obciążeniu tak naprawdę nie potrzebujesz przestrzeni wymiany, niezależnie od tego, czy masz 16 MB, czy 16384 MB pamięci RAM; w rzeczywistości większość wbudowanych urządzeń z Linuksem działa bez nich (na co by się zamieniły?)
Biorąc pod uwagę ceny pamięci RAM, prawdopodobnie nie będziesz używać swap do aktywnego obliczania. Co zostało?
(2) i (3) silnie zależą od obciążenia pracą. Na moich komputerach mogę z łatwością korzystać z 4 GB + on (2), od pozostawienia vimów, xtermów itp. Działających na innych komputerach.
Na większości serwerów, które uruchamiam, prawie nigdy niczego nie wymieniono, a 1–2 GB wymiany (niezależnie od ilości pamięci RAM) wydaje się być w porządku.
madvise
, ale to nie zawiedzie ... ten błąd mówi o braku pamięci podczas wyrzucania elementów bezużytecznych. Dodanie zamiany oczywiście temu zapobiega, ale i tak zwiększyłoby pamięć RAM. Może wynika to z 32-bitowej wersji PAE?
Xms
i Xmx
nie ustawiasz tych samych wartości, może cię to mocno ugryźć: powodowało poważne problemy dla nas przez ponad dwa tygodnie, aż w końcu to wyśledziliśmy
To zależy od usług i aplikacji, które planujesz uruchomić. Możesz obserwować zużycie pamięci za pomocą free -m i odpowiednio dostosowywać partycję wymiany w czasie.
Oto interesująca dyskusja na ten temat. Osobiście (i po przeczytaniu tej dyskusji) wciąż zostawiam około 1 GB na wymianę.
Nie mogę bezpośrednio rozmawiać z Debianem, ale wiem, że kiedy wstaniesz powyżej 2 GB pamięci RAM, oryginalne równanie 2xRAM zmienia się, zwykle do 1xRAM. Myślę, że gdy osiągniesz 16 GB RAM, sugestia ponownie obniży się do .75xRAM.
Oczywiście uznałem to za prawdę w przypadku Solaris i jest to metryka używana w instalacjach Oracle, więc YMMV zależy od aplikacji, na których będziesz tam działał.
Miejsce wymiany może służyć jako „dopełnienie”, gdy w przeciwnym razie natychmiast zabraknie pamięci.
Gdy proces zużywa całą dostępną pamięć RAM, a następnie część komputera będzie działać bardzo wolno, ale zazwyczaj będziesz w stanie odzyskać. Łatwiej będzie również zobaczyć, który proces powoduje problem.
Przez lata postępowałem zgodnie z zasadą, że w przypadku komputerów z systemem Windows masz tyle samo swapów, ile masz pamięci RAM ... W Novellie zmienilibyśmy swapy wyżej, gdybyśmy mieli więcej drukarek ... W przypadku Linuksa reguła i praktyka wyniosły dla mnie 1 GB zamień na każde 2 GB pamięci RAM. Umieszczasz go z przodu dysku, aby uzyskać do niego szybszy dostęp.
jeśli jest to serwer LAMP, obowiązuje reguła 1/2.
Przebieg będzie się różnić w zależności od aplikacji i użycia GUI.
Tworzę swap 1 GB i kupuję więcej pamięci RAM, gdy jest używana. Naprawdę nie potrzebujesz wymiany na nowoczesnych komputerach, pamięć RAM jest tak tania.
Do czego używasz systemu? Osobiście nie używam żadnej wymiany. Jeśli cokolwiek używa tokena 512 MB lub czegoś innego, aby rzeczy mogły zostać umieszczone na dysku, jeśli są rezydentami, ale są nieaktywne przez długi czas.
Używam tylko małej wymiany tokena (zwykle 256 MB, ale zrobiłem nawet 64 MB), ponieważ konfiguracja systemu z zerową zamianą wymaga specjalnej konfiguracji.
Miejsce na dysku jest tanie, ale slooooooooow. Gdy tylko system zacznie zamieniać, wydajność jest zerowa. A pamięć RAM nie jest już tak droga.
Zaufaj mi, kup nieco wolniejszy procesor i kup więcej pamięci RAM. 2,8 GHz zamiast 3,0 GHz pozwoli Ci zaoszczędzić wystarczająco dużo pieniędzy, aby kupić przynajmniej 2 GB pamięci RAM.