Swappiness: Cum se ajustează utilizarea memoriei virtuale

memorie virtuală swappiness

Aici în Ubunlog Ne dedicăm – sau încercăm să ne dedicăm – tuturor utilizatorilor, iar asta include configurații hardware foarte diferite. Și într-un fel ne place să credem că cu tutorialele pe care le arătăm aici contribuim într-un fel la îmbunătățirea experienței generale a utilizatorului în această distribuție care ne place atât de mult (în oricare dintre aromele sale), motiv pentru care publicăm adesea ghiduri pentru obțineți cea mai bună performanță posibil, mai ales în echipamente mai modeste.

Acum, fără a merge mai departe, vom arăta cum se ajustează utilizarea memoriei virtuale în Ubuntu, în așa fel încât să se evite că, în cele din urmă, ajunge să devină o atracție și să facă performanța mai proastă decât ar fi fără ea. Și este faptul că, deși ideea de a utiliza un fișier sau o partiție de swap nu este rea în sine, ci chiar opusul, dacă nu este bine implementat, poate genera o utilizare excesivă a hard diskului, mult mai lent decât Memorie RAM.

Prin urmare, utilizarea partiției swap ar trebui să fie limitată la situații în care nu există altă alternativă decât să o utilizați, moment în care va suporta memoria principală (care este RAM). Dacă, în schimb, îl folosim tot timpul, uneori chiar și înainte de RAM, performanța noastră va fi penalizată. Să vedem atunci cum se ajustează utilizarea memoriei virtuale în Linux folosind comanda Swappiness.

În sistemul nostru de operare, crearea memoriei virtuale se efectuează de obicei în timpul procesului de instalare, moment în care definim partiția rădăcină (/), partiția de stocare (/ acasă) și partiția de schimb sau swap, care este de obicei implementat pe partiția / dev / sda5. Parametrul kernel care gestionează utilizarea memoriei virtuale este swappiness menționat anterior și, practic, putem spune că este însărcinat cu definirea frecvenței cu care accesăm partiția swap și cât conținut copiem în ea, printr-un argument care variază între 0 și 100.

Valoarea implicită într-o instalare Linux este 60, dar, deoarece este ușor de presupus, nu toate configurațiile hardware sunt la fel și, prin urmare, nu are sens să menținem acel nivel indiferent care este al nostru. Această valoare este stocată în fișierul / proc / sys / vm / swappiness și o putem verifica prin:

cat / proc / sys / vm / swappiness

Aproape sigur va fi la 60 de ani și, dacă acesta este cazul, va trebui să îl modificăm, mai ales dacă avem mai mult de 4 GB de memorie RAM, deoarece în acest caz avem nevoie de obicei de puțină sau deloc memorie virtuală. Dar, înainte de a explica cum să modificăm acest lucru, să vedem puțin despre logica din spatele întregii lucruri de memorie virtuală și swappiness; Și, atunci când este lăsat implicit la 60, ceea ce i se spune nucleului este să meargă și să utilizeze memoria virtuală atunci când memoria RAM are 40% sau mai puțin din capacitatea sa liberă. Prin urmare, dacă setăm swappiness egal cu 100, memoria virtuală va fi utilizată tot timpul, și dacă îl lăsăm la o valoare foarte scăzută, acesta va fi utilizat numai atunci când RAM-ul nostru este pe cale să se epuizeze. Minimul posibil este 1, deoarece lăsând valoarea egală cu 0 dezactivăm complet memoria virtuală.

Deci, ceea ce trebuie să facem este să introducem următoarea comandă de la terminal (Ctrl + Alt + T):

sudo sysctl vm.swappiness = 10

Acum valoarea lui swappiness va rămâne la 10, iar apoi memoria virtuală va fi greu utilizată. Odată ce această valoare este modificată nu este nevoie să reporniți computerul, dar intră în vigoare imediat, și, de fapt, dacă resetăm valoarea, aceasta va fi localizată la 60 ca înainte, deoarece ceea ce vom avea nevoie este să lăsăm această modificare definitiv stabilită. Pentru a face acest lucru, odată ce ne-am folosit computerul și am verificat că totul este în regulă cu noua valoare a swappiness, executăm:

sudo nano /etc/sysctl.conf

după care căutăm textul vm.swappiness = și adăugăm valoarea dorită după simbolul "=". Salvăm fișierul și acum, modificarea va fi permanentă.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   ceflo el a spus

    Excelenta explicatie !!! Foarte bun articol !! În cazul meu, când fac această modificare la repornirea notebook-ului, acesta revine la valoarea inițială de 60, este ca și cum fișierul este salvat, dar la repornire este „formatat”. Am încercat deja totul fără succes, ai idee ce s-ar putea întâmpla? Am 1 GB de Ram.

    Vă mulțumim!

    1.    Willy klew el a spus

      Bună, César, mă bucur că ți s-a părut interesant.

      Dacă valoarea se pierde la repornirea sistemului, m-aș uita la /etc/rc.local și la celelalte scripturi de pornire (acestea variază în funcție de fiecare distribuție), deoarece este posibil să fie setat la pornire.

      Salutări!

  2.   Pascual Martin el a spus

    Foarte bună explicație!

    Ca o completare, iată un alt interesant despre Swap și swappiness în Linux:

    http://www.sysadmit.com/2016/10/linux-swap-y-swappiness.html

  3.   starea vizualizatorului el a spus

    nu știi cât de bine este pentru mine, mulțumesc

  4.   clerului el a spus

    Salutari,

    În /etc/sysctl.conf meu nu este textul vm.swappiness =, l-am căutat bine, fișierul este mic. Dacă nu trebuie să o adăugați, articolul spune să găsiți și să modificați valoarea, nu să adăugați linia.

  5.   Lewis el a spus

    Salutari,

    În /etc/sysctl.conf meu nu există vm.swappiness = text. Dacă nu trebuie să o adăugați, articolul spune să găsiți și să modificați valoarea, nu să adăugați linia.

  6.   Nosferatus el a spus

    Trebuie să-l creați, la sfârșitul fișierului puneți vm.swappiness = 10 și gata.

    Dacă nu se economisește la repornire, ar putea fi pentru că nu utilizați comanda sudo.

    Ubuntu: sudo gedit /etc/sysctl.conf
    Xubuntu: sudo mousepad /etc/sysctl.conf

  7.   santiago el a spus

    Articol excelent. Mulțumesc!

  8.   Roberto el a spus

    Poți pune zero. ce probleme pot apărea?

  9.   Jose Castillo Ávalos el a spus

    Bună ziua și vă mulțumesc Willy Clew pentru articolul dvs. care îmi clarifică procesul de utilizare a memoriei swapp, dar mi-a cauzat o îndoială imensă, deoarece atunci când intrați în terminal și executați comenzile pe care le indicați, returnează mesajul care spune:

    bash: cat / proc / sys / vm / swappiness: Fișierul sau directorul nu există

    Ce poate fi cauzat de asta?

    1.    Andres Choque Lopez el a spus

      Ai scris rău. Nu ai pus spațiul după „pisică”.

  10.   modding de gheață el a spus

    grozav, îl împărtășim în grupul ubuntu în spaniolă https://t.me/ubuntu_es

  11.   Fierar el a spus

    Excelent, a funcționat pentru mine pe Debian 10.9

  12.   Juan el a spus

    Sunt informatician Am instalat și testat mai multe distribuții, cea mai bună opțiune pentru a configura swappiness este să scriu în terminal

    sudo nano /etc/sysctl.conf

    după apăsarea enter scrieți tasta și introduceți din nou, apoi scrieți la sfârșit următoarea linie

    vm.swappiness = 0

    apoi apăsați ctrl și tasta x în același timp, generează o întrebare că, dacă doriți să salvați noua propoziție în fișier, apăsați tasta Y pentru a spune da și n, astfel încât să nu o salveze

    De ce am scris zero 0? Testele s-au făcut deja pe diferite PC-uri pe care le-am programat, deoarece aceasta este cea mai bună opțiune, deoarece folosește a cărei paginare, de exemplu, dacă cromul sau un browser este deschis prin deschiderea Facebook, deoarece memoria de schimb (swap sau numită și paginare) va crește dar când este sesiune închisă și browserul sau orice alt program, deoarece memoria de paginare (swap) va scădea eliberând hard disk-ul, care este util pentru a evita deteriorarea acestuia, amintiți-vă că memoria swap sau numită paging (swap) folosește hard disk-ul.

  13.   Norberto González el a spus

    Nu am înțeles, îmi pare rău. Dacă valoarea implicită este 60 pentru ca swap-ul să fie activat cu 40 sau mai puțin lipsă, atunci când setați parametrul la 10. Nu ar fi activat cu 90 din ramul liber? Prin încetinirea schimbului de date