Swappiness: jak dostosować użycie pamięci wirtualnej

pamięć wirtualna wymiany

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.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   ceflo powiedział

    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!

    1.    Willy klew powiedział

      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!

  2.   Pascual Martin powiedział

    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

  3.   stan widza powiedział

    nie wiesz, jakie to dla mnie dobre, dzięki

  4.   kler powiedział

    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ę.

  5.   Chwytak powiedział

    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ę.

  6.   Nosferat powiedział

    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

  7.   Santiago powiedział

    Świetny artykuł. Dziękuję Ci!

  8.   Roberto powiedział

    Możesz postawić zero. jakie problemy mogą się pojawić?

  9.   Jose Castillo Ávalos powiedział

    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ą?

    1.    Andres Choque Lopez powiedział

      Źle napisałeś. Nie wstawiłeś spacji po słowie „kot”.

  10.   lodowanie powiedział

    świetnie, udostępniamy to w grupie ubuntu w języku hiszpańskim https://t.me/ubuntu_es

  11.   Kowal powiedział

    Świetnie, działało na mnie w Debianie 10.9

  12.   John powiedział

    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.

  13.   Norberto gonzalez powiedział

    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