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ă.
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!
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!
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
nu știi cât de bine este pentru mine, mulțumesc
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.
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.
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
Articol excelent. Mulțumesc!
Poți pune zero. ce probleme pot apărea?
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?
Ai scris rău. Nu ai pus spațiul după „pisică”.
grozav, îl împărtășim în grupul ubuntu în spaniolă https://t.me/ubuntu_es
Excelent, a funcționat pentru mine pe Debian 10.9
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.
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