Tutaj w Ubunlog Poświęcamy się – lub staramy się poświęcać – wszystkim użytkownikom, co obejmuje bardzo różne konfiguracje sprzętowe. W pewnym sensie lubimy myśleć, że dzięki tutorialom, które tutaj pokazujemy, w jakiś sposób przyczyniamy się do poprawy ogólnego doświadczenia użytkownika w tej dystrybucji, którą tak bardzo lubimy (w dowolnym jej wydaniu), dlatego często publikujemy przewodniki Do uzyskać najlepszą wydajność możliwe, zwłaszcza w skromniejszym sprzęcie.
Teraz, nie przechodząc dalej, pokażemy jak dostosować użycie pamięci wirtualnej w Ubuntu, w taki sposób, aby uniknąć tego, że w końcu stanie się przeszkodą i pogorszeniem wydajności, niż byłoby bez niej. Chodzi o to, że chociaż pomysł użycia partycji plików lub wymiany nie jest zły sam w sobie, ale wręcz przeciwnie, jeśli nie jest dobrze zaimplementowany, może generować nadmierne wykorzystanie dysku twardego, znacznie wolniej niż RAM.
Z tego powodu użycie partycji wymiany powinno być ograniczone do sytuacji, w których nie ma alternatywy, jak z niej korzystać, wtedy będzie ona obsługiwać pamięć główną (czyli RAM). Jeśli zamiast tego będziemy go używać przez cały czas, czasami nawet przed pamięcią RAM, nasza wydajność zostanie ukarana. Zobaczmy więc jak dostosować użycie pamięci wirtualnej w systemie Linux za pomocą polecenia Swappiness.
W naszym systemie operacyjnym tworzenie pamięci wirtualnej odbywa się zwykle podczas procesu instalacji, w którym to czasie definiujemy partycję główną (/), partycję magazynu (/ home) i partycję wymiany lub swap, który jest zwykle zaimplementowany na partycji / dev / sda5. Parametr jądra, który zarządza użyciem pamięci wirtualnej, to wspomniana wcześniej zamiana i zasadniczo możemy powiedzieć, że jest ona odpowiedzialna za określenie, jak często uzyskujemy dostęp do partycji wymiany i ile treści do niej kopiujemy, za pomocą argumentu, który różni się między 0 i 100.
Wartość domyślna w instalacji systemu Linux to 60, ale jak łatwo założyć, nie wszystkie konfiguracje sprzętowe są takie same i dlatego nie ma sensu utrzymywać tego poziomu niezależnie od tego, który jest nasz. Ta wartość jest przechowywana w pliku / proc / sys / vm / swappiness i możemy to sprawdzić poprzez:
cat / proc / sys / vm / swappiness
Prawie na pewno będzie to 60 lat, a jeśli tak jest, być może będziemy musieli go zmodyfikować, szczególnie jeśli mamy więcej niż 4 GB pamięci RAM, ponieważ w takim przypadku zwykle potrzebujemy niewiele pamięci wirtualnej lub nie potrzebujemy jej wcale. Ale zanim wyjaśnimy, jak to zmodyfikować, przyjrzyjmy się trochę logice stojącej za tą całą pamięcią wirtualną i wymianą; Chodzi o to, że gdy domyślnie pozostaje na 60, jądrze mówi się, że ma iść i używać pamięci wirtualnej, gdy nasza pamięć RAM ma 40 procent lub mniej wolnej pojemności. A zatem, jeśli ustawimy swappiness na 100, pamięć wirtualna będzie używana przez cały czas, a jeśli zostawimy go na bardzo niskiej wartości, będzie używany tylko wtedy, gdy nasza pamięć RAM wkrótce się wyczerpie. Minimalne możliwe to 1, ponieważ pozostawiając wartość równą 0, całkowicie dezaktywujemy pamięć wirtualną.
Musimy więc wprowadzić następujące polecenie z terminala (Ctrl + Alt + T):
sudo sysctl vm.swappiness = 10
Teraz wartość swappiness pozostanie na 10, a wtedy pamięć wirtualna będzie prawie nie używana. Po zmianie tej wartości nie ma potrzeby ponownego uruchamiania komputera, ale działa natychmiasti faktycznie, jeśli zresetujemy wartość, będzie to jak poprzednio 60, bo to, czego będziemy potrzebować, to pozostawienie tej zmiany na stałe. Aby to zrobić, po skorzystaniu z naszego komputera i sprawdzeniu, że wszystko jest w porządku z nową wartością wymiany, wykonujemy:
sudo nano /etc/sysctl.conf
po czym szukamy tekstu vm.swappiness = i dodajemy żądaną wartość po symbolu „=”. Zapisujemy plik i teraz zmiana będzie trwała.
Doskonałe wyjaśnienie !!! Bardzo dobry artykuł !! W moim przypadku, gdy wprowadzam tę zmianę przy ponownym uruchomieniu notebooka, wraca do pierwotnej wartości 60, to tak, jakby plik został zapisany, ale po ponownym uruchomieniu jest „sformatowany”. Próbowałem już wszystkiego bez powodzenia, czy masz pojęcie, co może się stać? Mam 1 GB pamięci RAM.
Dziękujemy!
Cześć César, cieszę się, że było to interesujące.
Jeśli wartość zostanie utracona po ponownym uruchomieniu systemu, spojrzę na /etc/rc.local i inne skrypty startowe (różnią się one w zależności od dystrybucji), ponieważ może się zdarzyć, że jest to ustawione podczas uruchamiania.
Pozdrowienia!
Bardzo dobre wyjaśnienie!
Jako uzupełnienie, oto kolejny interesujący artykuł dotyczący zamiany i zamiany w Linuksie:
http://www.sysadmit.com/2016/10/linux-swap-y-swappiness.html
nie wiesz, jakie to dla mnie dobre, dzięki
Pozdrawiam,
W moim /etc/sysctl.conf nie ma tekstu vm.swappiness =, dobrze go szukałem, plik jest mały. O ile nie musisz tego dodawać, artykuł mówi, aby znaleźć i zmodyfikować wartość, a nie dodawać linię.
Pozdrawiam,
W moim /etc/sysctl.conf nie ma vm.swappiness = tekst. O ile nie musisz go dodawać, artykuł mówi, aby znaleźć i zmodyfikować wartość, a nie dodawać linię.
Musisz go utworzyć, na końcu pliku umieszczasz vm.swappiness = 10 i to wszystko.
Jeśli nie zapisuje się po ponownym uruchomieniu, może to być spowodowane tym, że nie używasz polecenia sudo.
Ubuntu: sudo gedit /etc/sysctl.conf
Xubuntu: sudo mousepad /etc/sysctl.conf
Świetny artykuł. Dziękuję Ci!
Możesz postawić zero. jakie problemy mogą się pojawić?
Witam i dziękuję Willy Clew za twój artykuł, który wyjaśnia mi proces korzystania z pamięci wymiany, ale wzbudził we mnie ogromne wątpliwości, ponieważ wchodząc do terminala i wykonując wskazane polecenia, zwraca komunikat o treści:
bash: cat / proc / sys / vm / swappiness: Plik lub katalog nie istnieje
Co może być tego przyczyną?
Źle napisałeś. Nie wstawiłeś spacji po słowie „kot”.
świetnie, udostępniamy to w grupie ubuntu w języku hiszpańskim https://t.me/ubuntu_es
Świetnie, działało na mnie w Debianie 10.9
Jestem informatykiem zainstalowałem i przetestowałem kilka dystrybucji, najlepszą opcją konfiguracji swappiness jest pisanie w terminalu
sudo nano /etc/sysctl.conf
po naciśnięciu enter wpisz klucz i enter ponownie, a następnie wpisz na końcu następującą linię
vm.swappiness = 0
następnie naciśnij jednocześnie ctrl i klawisz x, generuje pytanie, że jeśli chcesz zapisać nowe zdanie w pliku to naciśnij klawisz Y, aby powiedzieć tak i n, aby go nie zapisywać
Dlaczego napisałem zero 0? Testy zostały już wykonane na różnych komputerach, które zaprogramowałem, ponieważ jest to najlepsza opcja, ponieważ używa czyjej paginacji, ale na przykład, jeśli chrom lub przeglądarka zostanie otwarta przez otwarcie Facebooka, ponieważ pamięć wymiany (swap lub zwana także paginacją) wzrośnie ale kiedy jest zamknięta sesja i przeglądarka lub dowolny program, ponieważ pamięć stronicowania (wymiana) zmniejszy zwolnienie dysku twardego, co jest przydatne, aby uniknąć jego uszkodzenia, pamiętaj, że pamięć wymiany lub zwana stronicowaniem (wymiana) używa dysku twardego.
Nie zrozumiałem przepraszam. Jeśli domyślną wartością jest 60, aby zamiana była aktywowana z brakiem 40 lub mniej, przy ustawieniu parametru na 10. Czy nie byłoby to aktywowane z 90 wolnymi pamięciami? Spowalniając wymianę danych