Czytałem wiele miejsc, w których podstawową zasadą dla przestrzeni wymiany jest podwojenie fizycznej pamięci RAM. Jednak 32 GB wydaje się DUŻO. Czy tak bardzo potrzebuję? Czy w ogóle potrzebuję go z tak dużą ilością fizycznej pamięci RAM?
Czytałem wiele miejsc, w których podstawową zasadą dla przestrzeni wymiany jest podwojenie fizycznej pamięci RAM. Jednak 32 GB wydaje się DUŻO. Czy tak bardzo potrzebuję? Czy w ogóle potrzebuję go z tak dużą ilością fizycznej pamięci RAM?
Odpowiedzi:
Zależy to całkowicie od tego, co planujesz zrobić z maszyną. Na przykład, jeśli byłby to serwer Sap, to tak, dodałbym zamianę 32 GB (mamy pudełka działające z ram RAM 128 GB i zamianą 32 GB). Jeśli manipulujesz ogromnymi zdjęciami i filmami, warto trochę zamienić. 32 GB to prawdopodobnie przesada.
Jednak nie powiedziałbym, że zero swap.
W mało prawdopodobnym przypadku, gdy skończy Ci się pamięć RAM - być może otworzysz duży plik, przejrzysz długo działającą kartę w Firefoksie, nie ma to znaczenia, w takim przypadku twój zabójca jądra OOM uruchomi się i zacznie zabijać aplikacje, aby odzyskać pamięć. W tych okolicznościach jest całkiem możliwe, że stracisz dane, gdy aplikacje zostaną zabite. Jeśli jednak masz trochę zamiany, system będzie kontynuował, chwytając swap i pozwalając systemowi kontynuować. System zwalnia, gdy dochodzi do ciężkich zamian, zauważasz i badasz, zanim wszystkie zamiany się wyczerpią. Również dysk jest bardzo tani, więc dlaczego nie wymienić?
Każdy, kto mówi „nie potrzebujesz wymiany” bez pytania, co właściwie robisz z komputerem, przyjmuje założenia. Chociaż możesz bardzo mało robić na komputerze, który zużywa pamięć RAM, najlepiej zadać pytania o to, co zamierzasz z nim zrobić, zanim podejmiesz pochopną ocenę, że nie potrzebujesz „zamiany”. Moim skromnym zdaniem
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ń 2017 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 At least 4 GB 1.5 times the amount of RAM
64GB of RAM or more At least 4 GB Hibernation not recommended
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
Argh. Odpowiedzi w tym poście są bardzo błędne, co pojawia się jako jeden z pierwszych wyników wyszukiwania Google „Ile zamiany?”
Po pierwsze, dobrym punktem odniesienia jest FAQ Ubuntu Swap
To FAQ podkreśla ważną kwestię, o której nikt tu nie wspomina, i to jest (moje podkreślenie)
Czasami duży program (taki jak OpenOffice, Neverwinter Nights lub edytor wideo) powoduje, że cały system potrzebuje dodatkowej pamięci. Znaczna liczba stron używanych przez te duże programy podczas uruchamiania może być użyta tylko do inicjalizacji, a następnie nigdy więcej. System może zamienić te strony i zwolnić pamięć dla innych programów, a nawet pamięci podręcznej dysku . W takich przypadkach zostanie zastosowana zamiana, aby pomóc systemowi w obsłudze dodatkowego obciążenia.
Tak więc zamiana służy nie tylko do hibernacji! Ta aktywność polegająca na zamianie nieużywanych stron może być korzystna w niektórych scenariuszach, a szkodliwa w innych. Jest to korzystne, ponieważ może zwolnić pamięć, aby system mógł używać go gdzie indziej, ale jest szkodliwe, gdy ta zamiana jest zbyt agresywna i zamienia strony, których naprawdę chcesz. Jest to szczególnie prawdziwe w przypadku systemu stacjonarnego, w którym aplikacje mogą pozostawać bezczynne przez długi czas, ale użytkownik nadal oczekuje natychmiastowej wydajności po przywróceniu jej do życia. Kontrola tego, jak agresywne jest to, jest określana jako zamiana
Często zadawane pytania dotyczące wymiany Ubuntu omawia to lekko w części Czym jest zamiana i jak ją zmienić? Domyślna wartość w systemie Ubuntu to 60, podczas gdy FAQ zaleca wartość 10 dla komputera stacjonarnego.
Powiedziałbym więc, że generalnie bardzo ważne jest, aby nie mieć systemu absolutnie pozbawionego przestrzeni wymiany, ponieważ niektóre osoby zalecały to pytanie, chyba że znasz pewne bardzo konkretne scenariusze użycia dla twojego systemu i jesteś bardzo świadomy konsekwencji to mogło mieć. (Osobiście nie ma sytuacji, w której uruchamiałbym system bez wymiany) W scenariuszu Brak pamięci bez wymiany system zacznie zabijać procesy (ogólnie ten, który spowodował OOM)
Prawdopodobnie nie. Jeśli planujesz hibernować komputer (zawiesić na dysk), potrzebujesz co najmniej 16 GB. Jeśli nie przejdziesz w stan hibernacji, wystarczy kilka gigabajtów na zamianę (maks. 4-8)
Z doświadczenia mogę powiedzieć:
Z tego, co widziałem za pomocą 4 GB pamięci RAM przez 3 lata, Ubuntu używał wymiany około 60 MB, ale tylko podczas wykonywania bardzo intensywnych zadań. Kilka tygodni temu zacząłem używać komputera z 16 GB pamięci RAM, a użycie wymiany pozostało na zawsze w 0%. Zrobiłem wiele kompilacji, renderowania wideo i innych intensywnych zadań. Nigdy nie było zmiany w zamianie. Nawet zmiana o 1 KB.
Zasadniczo w systemie Ubuntu im więcej pamięci RAM masz, tym mniejsze prawdopodobieństwo, że użyjesz lub będziesz potrzebować zamiany do dowolnego zadania. 16 GB pamięci RAM, a nawet 8 GB pamięci RAM, to więcej niż wystarcza. Zrobiłem z 16 GB PC 8 Virtualbox PC (każdy od 1 GB do 2 GB pamięci RAM). Skompilowałem i wyrenderowałem wideo 720p i nawet w tych warunkach zmiana się nie zmieniła.
To powiedziawszy, zasada podwójnej pamięci RAM nie powinna mieć zastosowania w systemach opartych na Linuksie, tym bardziej, jeśli masz więcej pamięci. Powinieneś jednak mieć taki sam rozmiar zamiany równy rozmiarowi pamięci RAM lub jeśli planujesz hibernację, ponieważ proces hibernacji chwyta wszystko w pamięci RAM i umieszcza ją w zamianie, dlatego potrzebujesz minimalnego rozmiaru równego rozmiarowi pamięci RAM do zamiany.
Innym szczegółem jest to, że niektóre aplikacje (nie wszystkie) nadal zmuszają do odczytu z wymiany. Więc trochę jest dobrze. Wyłączenie go całkowicie jest bardzo złe w przypadku, gdy dojdziesz do punktu braku pamięci lub OOM. W tym momencie, jeśli nie masz zamiany, jądro nie może zamieniać różnych zastosowań aplikacji RAM i ostatecznie zabija mniej używane.
Jeśli to pomaga w podejmowaniu decyzji na pulpicie domowym, po zaktualizowaniu tej odpowiedzi przez ponad 4 lata użyłem komputera 16 GB, 32 GB, a teraz 64 GB RAM. Testy z jedynie 128 MB wymiany wykazały, że nie potrzebowałem większej wymiany, chyba że chcę hibernować. Użyłem na nich środowisk chmurowych, lxc, virtualbox, wine, nazywacie to. Wyrenderowałem filmy z openshot, kazam, hamulcem ręcznym, audacity. Użyłem gimpa, blendera, Inkscape, a nawet pełnego pakietu LibreOffice. Grałem nawet na parze i w żadnym z tych scenariuszy nie użyto wymiany. Oczywiście, w końcu się przyda, jeśli skończysz używać pełnej ilości pamięci RAM w ten czy inny sposób, ale ogólnie im więcej masz pamięci RAM, tym mniej wymiany będziesz potrzebować.
Tylko moje 2 centy.
Nie, nie potrzebujesz 32 GB, o ile nie korzystasz z funkcji takich jak zawieszanie na dysk.
W większości przypadków powiedziałbym, że wcale nie potrzebujesz. Być może, jeśli edytujesz bardzo duże pliki graficzne lub inną aplikację, która wymaga dużo pamięci RAM, możesz potrzebować niektórych.
Nigdy nie widziałem żadnego używanego w moim systemie, podobnym do twojego. W rzeczywistości kiedyś miałem przypadkowo wyłączony na tydzień lub dwa i nigdy nie zauważyłem żadnego problemu. Ale nadal mam około 5 GB na dysk wymiany, głównie dlatego, że mam ponad 1 TB wolnego miejsca i nie wykorzystuję całego miejsca.
Jeśli twój RAM jest większy niż 1 GB, zwykle wystarcza na Ubuntu. Reguła „Zamień = RAM x2” dotyczy starych komputerów z pamięcią RAM 256 lub 128 MB.
Tak więc 1 GB wymiany zwykle wystarcza na 4 GB pamięci RAM. 8 GB byłoby za dużo.
Jeśli korzystasz z hibernacji, możesz bezpiecznie wymienić tyle pamięci RAM.
Aby zapoznać się z ogólną ogólną zasadą dotyczącą ilości swapów, przeczytaj tutaj:
https://help.ubuntu.com/community/SwapFaq
W twoim przypadku powiedziałbym, że 4 GB wystarczyłoby na dopasowanie do pamięci RAM.
Potrzebujesz tylko zamiany, jeśli chcesz użyć hibernacji do końca, jest to marnowanie miejsca na dysku twardym.
sudo swapoff -a
a następnie uśpić laptopa.
Mam laptopa z 4 GB pamięci RAM i Ubuntu 16.04. Po uruchomieniu zużywa około 1 GB pamięci RAM i nawet wtedy Inkscape (na przykład) nie działa (monitor systemu pokazuje więcej niż 50% wolnej pamięci RAM). Inkscape zawiesza się Po zastosowaniu pliku wymiany działa on zgodnie z oczekiwaniami, nawet bez użycia jednego bajtu wymiany. Polecam więc partycję wymiany (lub plik wymiany). Mniej więcej tego rozmiaru możesz użyć reguły david6.
Z SwapFaq Ubuntu :
Programy zużywające pamięć Czasami duży program (taki jak LibreOffice, Neverwinter Nights lub edytor wideo) powoduje, że cały system potrzebuje dodatkowej pamięci. Znaczna liczba stron używanych przez te duże programy podczas uruchamiania może być użyta tylko do inicjalizacji, a następnie nigdy więcej. System może zamienić te strony i zwolnić pamięć dla innych programów, a nawet pamięci podręcznej dysku. W takich przypadkach zostanie zastosowana zamiana, aby pomóc systemowi w obsłudze dodatkowego obciążenia.
Hibernacja (wstrzymaj na dysk) Funkcja hibernacji (wstrzymaj na dysk) zapisuje zawartość pamięci RAM na partycji wymiany przed wyłączeniem komputera. Dlatego partycja wymiany powinna być co najmniej tak duża, jak rozmiar pamięci RAM. Implementacja hibernacji używana obecnie w Ubuntu, swsusp, wymaga partycji wymiany lub zawieszenia. Nie może używać pliku wymiany w aktywnym systemie plików.
Nieprzewidziane okoliczności Nieprzewidziane zdarzenia mogą się zdarzyć (program wariuje, akcja wymaga znacznie więcej miejsca niż myślisz lub inna nieprzewidywalna kombinacja wydarzeń). W takich przypadkach zamiana może dać ci dodatkowe opóźnienie, aby dowiedzieć się, co się stało, lub dokończyć to, nad czym pracujesz.
Optymalizacja wykorzystania pamięci Ponieważ mechaniczne dyski twarde są znacznie wolniejsze niż pamięć RAM (SSD - dysk półprzewodnikowy - pamięć masowa nie jest tak wolna jak dyski fizyczne, ale wciąż wolniejsza niż pamięć RAM), gdy potrzebujesz pliku (czy to pliku danych jak wideo, pliki wykonywalne, takie jak Firefox lub biblioteki), jądro Linux odczytuje plik do pamięci RAM i trzyma go tam, aby następnym razem był potrzebny w pamięci RAM, a dostęp do danych jest znacznie szybszy. Części pamięci RAM przyspieszające odczyt dysku nazywane są „pamięcią podręczną”. Zauważysz, że mają one ogromny wpływ na szybkość reakcji. Jądro Linuksa automatycznie przenosi pamięć RAM zarezerwowaną przez programy - ale tak naprawdę nieużywaną - do wymiany, aby lepiej służyła rozszerzaniu pamięci podręcznej.
Optymalizacja wydajności wymiany Z tego powodu, że przestrzeń wymiany wykorzystuje urządzenie dyskowe, może to powodować problemy z wydajnością w każdym systemie, który znacznie korzysta z przestrzeni wymiany, ponieważ sam system może również używać tego samego urządzenia dyskowego w tym samym czasie, gdy jest to wymagane do operacji wymiany. Jednym ze sposobów ograniczenia tego problemu jest posiadanie przestrzeni wymiany na innym dysku fizycznym, aby konkurencja o ten zasób była zmniejszona lub wyeliminowana.
W przypadku mniej niż 1 GB pamięci fizycznej (RAM) wysoce zalecane jest, aby przestrzeń wymiany była, jako podstawowe minimum, równa ilości pamięci RAM. Ponadto zaleca się, aby miejsce wymiany było maksymalnie dwukrotnością ilości pamięci RAM w zależności od ilości miejsca na dysku twardym dostępnej dla systemu ze względu na malejące zwroty.
W przypadku nowocześniejszych systemów (> 1 GB) przestrzeń wymiany powinna być co najmniej równa rozmiarowi pamięci fizycznej (RAM) „jeśli używasz hibernacji”, w przeciwnym razie potrzebujesz minimum okrągłej (sqrt (RAM)) i maksymalnej dwa razy więcej pamięci RAM. Jedynym minusem posiadania większej ilości swapów, niż faktycznie będziesz używać, jest miejsce na dysku, które zarezerwujesz na to.
„Zmniejszające się zwroty” oznaczają, że jeśli potrzebujesz więcej miejsca wymiany niż dwa razy więcej niż rozmiar pamięci RAM, lepiej dodaj więcej pamięci RAM, ponieważ dostęp do dysku twardego (HDD) jest około 10³ wolniejszy niż dostęp do pamięci RAM, więc zajmie to 1 sekundę, nagle zajmuje to więcej niż 15 minut! I jeszcze ponad minutę na szybkim dysku SSD ...
Przykładowe scenariusze
RAM(GB) No hibernation With Hibernation Maximum 1 1 2 2 2 1 3 4 3 2 5 6 4 2 6 8 5 2 7 10 6 2 8 12 8 3 11 16 12 3 15 24 16 4 20 32 24 5 29 48 32 6 38 64 64 8 72 128 128 11 139 256
Myślę, że masz odwrotnie. Zalecenie SWAP , potrzebujesz ~ 16 GB. Zatem SWAP powinien wynosić 1/2 rzeczywistego rozmiaru pamięci RAM. Ale wciąż jest dużo miejsca. Zależy od tego, czego potrzebujesz. Powiedziałbym, że jeśli nie używasz „hibernacji”, zachowaj około ~ 4 GB do ~ 8 GB, jeśli możesz sobie pozwolić na miejsce na dysku. Ponieważ masz 16 GB, zakładam, że korzystasz z komputera, który potrzebuje potężnych zasobów ... więc może warto mieć SWAP od 16 GB do 32 GB.
Mam 2 GB pamięci RAM i 1 GB SWAP. Radzę sobie z tym całkiem dobrze, ale to tylko moja opinia. Spójrz na inne komentarze / sugestie i zobacz, co mówią.
Nie mogłem znaleźć odniesień do cytowania tutaj, ale jeśli zamierzasz korzystać z aplikacji, w której musisz zamienić całe dane w pamięci RAM, przynajmniej potrzebujesz „rozmiaru pamięci RAM + 128 MB” lub „1,25 razy wielkości pamięci RAM” (i zapomniałeś, który z nich był poprawny), zakładając, że masz więcej niż 2 GB pamięci RAM. Jeśli pamięć RAM wynosi 2 GB lub mniej, zaleca się dwukrotny rozmiar pamięci RAM podczas wymiany. Postępowałem zgodnie z tym zaleceniem w mojej poprzedniej organizacji dla systemu IBM AIX na podstawie dokumentu IBM. Uważam, że dotyczy to większości * nix, ponieważ użycie swap polega na bezpiecznym przenoszeniu danych z pamięci RAM w przypadku, gdy pamięć RAM nie wystarcza do obsługi danych do załadowania do pamięci. Komendy „free” można użyć do oceny, ile wymiany w rzeczywistości jest używane.
Mam laptopa Mac, który zostawiam na miesiące. Chociaż znacznie lepsza niż Windows, pamięć wkrada się, szczególnie w przeglądarce, jeśli ją utrzymasz. W końcu pamięć się zapełnia. Teraz, jeśli masz zamianę, jak zauważyli inni, możesz przeżyć, zauważyć i zabić coś. Co więcej, jeśli masz zamianę, niektóre strony zostają zamienione i możesz kontynuować.
Więc jeśli planujesz pozostawić maszynę na długi czas, zamiana jest przydatnym sposobem na uwolnienie pamięci od śmieci zombie. To prawda, że wypełnienie 16 g ode mnie 3 gb potrwa dłużej, ale nadal jest przyjemne. W tym celu wystarczy 4 Gb.
Pamiętaj o tym -
Zazwyczaj rozmiar zamiany należy zwykle zwiększyć do około 2x głównej pamięci w systemach z mniej niż 2 GB pamięci RAM lub do około 1x głównej pamięci, jeśli masz więcej
Więc jeśli masz RAM 4 Gb, nigdy nie powinieneś potrzebować swapu, chyba że
wymagana hibernacja Swap wynosiłaby około 3 - 3,5 Gb, nie więcej .
Więc używaj zdrowego rozsądku i nie marnuj miejsca na dysku
Jeśli budujesz bardzo duże pliki, powiedz na przykład, jeśli budujesz systemy do tłumaczenia maszynowego na laptopie (no dobra, dlaczego chcesz to zrobić? Na przykład mogę powiedzieć, że moi profesorowie mnie tworzą ;-)) odpowiedź jest jasne, tak, właściwie w tej chwili żałuję, że nie zmieniłem 32 GB ....
W przypadku codziennego korzystania z Ubuntu do pracy biurowej i Internetu nie, nigdy nie użyjesz nawet 2 GB wymiany, ale w rzeczywistości nie ma jasnej odpowiedzi, wszystko zależy od tego, co będziesz robić na komputerze ...
Zbyt dużo informacji i rozbieżność opinii.
amount of RAM recommended swap with hibernation
---------------- ---------------- ----------------
less than 4GB 2x RAM size 3x RAM size
up to 8GB 4GB 2x RAM size
up to 16GB 4GB 1.5x RAM size
16GB or more 4GB No extra needed
Wydaje się, że nikt nie wspominał o innym powodzie posiadania znacznej przestrzeni wymiany, polegającej na zauważalnym spowolnieniu systemu zamiast uruchamiania programów, gdy zaczyna brakować pamięci. Jeśli masz moduł równoważenia obciążenia z przodu, który przekierowuje w przypadku awarii, możesz chcieć zachować małą wymianę (powiedzmy 1 GB). Jeśli chcesz, aby programy najpierw spowolniły, to rozważę 4 GB + pierwiastek kwadratowy wielkości pamięci i jeśli chcesz aby naprawdę spowolnić, zanim rzeczy umrą, a następnie utrzymuj wielkość pamięci wynoszącą co najmniej 1,25 (tak długo, jak niecierpliwi ludzie nie poddadzą się najpierw - byłoby to bardziej odpowiednie dla zadań w tle).
Standardowo konfiguruję 1 GB dla moich maszyn programistycznych i produkcyjnych, wtedy nie ma znaczenia, ile mają one lub niewiele rzeczywistej pamięci, mają wystarczającą ilość, aby skompilować wszystkie programy, których chcę, i zamienić praktycznie nigdy nie używane programy na użycie zwolniona pamięć do buforowania dysku.
Dla porównania mam 64 GB swapu na moim 32 GB laptopie, co jest nieco przesadą, ale chciałem się upewnić, że zawsze będzie działał, nawet jeśli powoli, i wiedziałem, że zamierzam uruchomić wiele maszyn wirtualnych wymagających dużej ilości pamięci. Nieoczekiwany efekt ma zasięg 32 GB + pamięci, a następnie wznawianie pracy ze stanu hibernacji (która ponownie ładuje 32 GB pamięci) jest zauważalnie wolniejsze niż zimny rozruch.
Nie, zdecydowanie nie potrzebujesz 32 GB. Z reguły w przypadku systemu stacjonarnego powiedziałbym, że twoja zamiana powinna wynosić między 4 GB a fizyczną pamięcią RAM + kilka GB . Zatem w przypadku fizycznej pamięci RAM o pojemności 16 GB wymiana może wynosić od 4 GB do 18 GB.
Rzeczy, które będziesz musiał zamienić na przestrzeń wymiany, będą mniej więcej równe ilości fizycznej pamięci RAM używanej przez aplikacje, które pozostają rezydentami - to znaczy usług systemowych i aplikacji, które pozostają uruchomione podczas ich używania (w przeciwieństwie do zadań uruchamianych raz następnie wyjdź). W systemie stacjonarnym załóżmy, że możesz pozostawić otwartą przeglądarkę, edytor tekstu, program pocztowy i edytor grafiki lub wideo podczas pracy nad czymś innym. Mogą z łatwością zajmować ponad 2 GB, może ponad 4 GB. Więc może 6 GB wymiany jest odpowiednie.
Zasadą jest, że posiadanie kilku GB więcej niż potrzebujesz nie boli. Zamiana zwykle nie jest używana, jeśli masz dużo pamięci RAM, ale pomaga to w sytuacji, gdy jakiś proces zużywa nadmierną ilość i zaczynasz się zmniejszać, i może zapobiec procesom zabijania systemu.
Uwaga: jeśli chcesz korzystać z hibernacji systemu operacyjnego, potrzebujesz wszystkich 16 GB, jak wspomniano, ale nowoczesne komputery nie korzystają na hibernacji. Jeśli masz szybki dysk SSD, uruchamianie może być tak szybkie lub szybsze, jak wznowienie hibernacji, a współczesne komputery zużywają znikomą energię w trybie uśpienia, a korzyści z hibernacji nie są duże.