Zamierzam zainstalować 64-bitowy 14.04 na nowym komputerze z czymś takim jak 1 do może 128 GB RAM i jeszcze więcej pamięci RAM później. Ile miejsca powinienem przeznaczyć na partycję wymiany?
A zwłaszcza: DLACZEGO te zalecenia dla tych liczb?
(Żadna z istniejących odpowiedzi tutaj i tutaj nie wyjaśnia żadnego z powodów i jest nieco przestarzała, jeśli spojrzymy na 1 GB lub pamięć RAM i więcej)
partitioning
swap
Tim
źródło
źródło
Odpowiedzi:
Krótka odpowiedź:
Ustaw plik wymiany na:
round(sqrt(RAM))
jeśli nie korzystasz ze hibernacjiRAM+round(sqrt(RAM))
jeśli korzystasz ze hibernacjiUstaw
swappiness
10 na pulpicie, ale nie na serwerze!Długa odpowiedź:
W przeszłości:
W ciągu ostatnich 25 lat stosowano zasadę minimum 1xRAM i maksimum 2xRAM, tak więc cały czas będziecie cytowani.
To minimum zostało cofnięte w epoce kamienia łupanego,
gdy byłem nastolatkiem, a dinozaury wciąż wędrowały po Ziemi, aponieważ pamięć RAM była po prostu zbyt droga i absolutnie potrzebna była ta przestrzeń wymiany, aby móc cokolwiek osiągnąć.W tym czasie ustalono maksimum ze względu na malejące zwroty: jest zbyt wolno, aby wymieniać tak dużo pamięci, ponieważ dostęp do dysku twardego jest 1000 razy wolniejszy niż pamięć RAM: dobra w nagłych wypadkach, ale niezbyt dobra do codziennego użytku! W tym czasie, kiedy zabrakło ci miejsca na wymianę, nadszedł czas, aby dodać więcej pamięci RAM! (co do dziś jest prawdą).
W teraźniejszości:
Jeśli nie korzystasz z hibernacji i twoja pamięć jest w nadmiarze 1GByte nowa zasada jest
round(sqrt(RAM))
gdzieRAM
jest oczywiście swój rozmiar w GB RAM isqrt
pierwiastek kwadratowy. :-)Jeśli używasz hibernacji, musisz mieć możliwość zamiany całej ilości pamięci RAM + już zamienionej pamięci RAM na dysk, dzięki czemu formuła wygląda następująco:
RAM+round(sqrt(RAM))
Reguła malejących zwrotów obowiązuje dzisiaj dla maksimum, ale jeśli nie przetestujesz faktycznego użycia, zabranie 2xRAM jest tylko marnotrawstwem miejsca na dysku , więc nie używaj maksimum, chyba że zabraknie miejsca wymiany przy użyciu innych metod .
Wszystkie razem dają następującą tabelę: (ostatnie 3 kolumny oznaczają przestrzeń wymiany)
Powyższe jest tylko ogólną zasadą; to nie jest prawo grawitacji!
Ty może złamać tę regułę (w odróżnieniu od prawa grawitacji), czy dany przypadek użycia jest inny!
Wskazówka: zawsze przydzielaj SWAP na początku dysku twardego, ponieważ głowice muszą mniej poruszać się po wewnętrznej stronie dysku.
Tak: Na dyskach SSD tak naprawdę nie ma już znaczenia, gdzie zlokalizujesz obszar wymiany, ponieważ wykorzystują tunelowanie kwantowe zamiast ruchomych głowic, a nowoczesne dyski SSD wykorzystują wszystkie swoje komórki pamięci (nawet nieprzydzieloną przestrzeń), aby zapobiec degradacji kwantowej.
Jak sprawdzić, czy użycie swap różni się od reguły „ogólnej”:
Po prostu wykonaj:
która da ci listę wszystkich uruchomionych programów, które są zamienione (z tym, który używa najwięcej przestrzeni wymiany na górze)
Jeśli używasz więcej niż kilku KB: zmień rozmiar na większy niż minimum, w przeciwnym razie nie przejmuj się ...
Jeśli korzystasz z serwera, przestań czytać teraz: wszystko gotowe!
Jeśli pracujesz na komputerze stacjonarnym / laptopie (nie na serwerze), chcesz, aby Twój GUI działał możliwie szybko i zamieniał się tylko wtedy, gdy naprawdę potrzebujesz . System Ubuntu został zoptymalizowany pod kątem wcześniejszej zamiany na użytkowanie serwera, ale na kliencie chcesz
gimp
szybko edytować ten ogromny obraz o rozdzielczości 250 megapikseli , więc ustawienie wartościswappiness
10 zapobiegnie zbyt wczesnej zamianie jądra, jednocześnie upewniając się, że nie działa t swap za późno:Jeśli masz
sysctl.conf
plik,LUB
Jeśli masz
sysctl.d
katalog, ale nie maszsysctl.conf
pliku, utwórz nowy plik:i w obu przypadkach dodaj:
na końcu pliku, zapisz plik ( Ctrl+ XY+ Enterw nano) i wykonaj:
aby ponownie załadować parametr lub zastosować podejście Window $ i zrestartować ... :-)
źródło
Konieczność zamiany
Zamiana jest przydatna z 3 powodów:
Usuwanie bałaganu z pamięci RAM. Z artykułu na kernel.org:
Innymi słowy, dane przechowywane w pamięci RAM mogą być przydatne tylko wtedy, gdy proces został uruchomiony (jak proces uruchamiania), a następnie po prostu znajdować się w pamięci RAM, zagracając przestrzeń, którą można wykorzystać do lepszych celów.
Rozszerza ilość pamięci, którą mogą wykorzystywać procesy. To jest dobrze zrozumiane. Nie chcesz, aby systemowi zabrakło pamięci i uległa awarii z powodu jej braku. Z tego konkretnego powodu musi istnieć zamiana , służąca jako funkcja ochronna.
Hibernacja: Gdy komputer hibernuje, zawartość pamięci RAM trafia na dysk.
Zamień kwotę
Znając cel zamiany i zależnie od ilości pamięci RAM w komputerze, możesz wybrać rozmiar zamiany, który pasuje do twojego celu. Nie ma konkretnych wytycznych, tylko podstawowe zasady, których można użyć, aby dopasować rozmiar wymiany do systemu .
Na przykład linux.com zaleca:
Z własnego doświadczenia, oto co bym zrobił:
Biorąc pod uwagę maszynę z 1 - 2 GB, która nie musi hibernować, i do codziennego użytku, możesz mieć od 1 GB do 2 GB przestrzeni wymiany. Mój komputer z 14.04 Ubuntu ma 1 GB pamięci RAM i 2 GB wymiany. Wartość wymiany nigdy nie przekracza granicy 800 MB, a mojego komputera używam tylko do surfowania po Internecie i pisania skryptów.
W przypadku komputera, który ma ponad 2 GB pamięci i nie trzeba go hibernować, możesz zachować swap z 512 MB na 1 GB. Mam laptopa z 15.04, którego nigdy nie hibernuje i który ma plik wymiany ( nie partycję ) 512 MB. Sama pamięć RAM ma 6 GB, ale nigdy nie przekracza 2-3 GB. Ponownie: codzienne użytkowanie.
Cosmoscalibur i Fabby już zajęły się zamianą na wypadek hibernacji, więc nie będę wchodził w to zbyt szeroko. Moja skromna opinia jest następująca:
Jeśli planujesz hibernację, zawartość pamięci RAM będzie musiała zostać wymieniona, dlatego potrzebujesz jej co najmniej tego samego rozmiaru co pamięć RAM.
źródło