Swappiness: Hur man justerar virtuellt minnesanvändning

swappiness virtuellt minne

Här i Ubunlog Vi ägnar oss - eller försöker ägna oss - åt alla användare, och det inkluderar väldigt olika hårdvarukonfigurationer. Och på något sätt vill vi tro att vi med de tutorials som vi visar här bidrar på något sätt till att förbättra den allmänna användarupplevelsen i denna distro som vi gillar så mycket (i någon av dess smaker), vilket är anledningen till att vi ofta publicerar guider för få bästa prestanda särskilt i mer blygsam utrustning.

Nu, utan att gå längre, kommer vi att visa hur man justerar virtuellt minnesanvändning i ubuntu, på ett sådant sätt att man undviker att det i slutändan blir ett drag och gör prestanda sämre än den skulle vara utan den. Och det är att även om idén med att använda en fil eller bytpartition inte är dålig i sig utan snarare tvärtom, om den inte är väl implementerad kan den generera överdriven användning av hårddisken, mycket långsammare än RAM.

Därför bör användningen av swap-partitionen begränsas till situationer där det inte finns något annat alternativ än att använda den, vid vilken tidpunkt den stöder huvudminnet (vilket är RAM). Om vi ​​istället använder det hela tiden, ibland till och med före RAM, kommer våra prestationer att straffas. Låt oss se då hur man justerar virtuellt minnesanvändning i Linux med Swappiness-kommandot.

I vårt operativsystem sker skapandet av virtuellt minne vanligtvis under installationsprocessen, då definierar vi rotpartitionen (/), lagringspartitionen (/ home) och utbytespartitionen eller swap, som vanligtvis implementeras på / dev / sda5-partitionen. Kärnparametern som hanterar användningen av virtuellt minne är den tidigare nämnda swappiness, och i princip kan vi säga att den har ansvaret för att definiera hur ofta vi kommer åt swap-partitionen och hur mycket innehåll vi kopierar in i det, genom ett argument som varierar mellan 0 och 100.

Standardvärdet i en Linux-installation är 60, men eftersom det är lätt att anta är inte alla hårdvarukonfigurationer desamma och därför är det inte meningsfullt att behålla den nivån oavsett vilken som är vår. Detta värde lagras i filen / proc / sys / vm / swappiness, och vi kan kontrollera det genom att:

cat / proc / sys / vm / swappiness

Det kommer nästan säkert att vara vid 60, och om så är fallet kan vi behöva ändra det, särskilt om vi har mer än 4 GB RAM-minne, eftersom vi i så fall vanligtvis behöver lite eller inget virtuellt minne. Men innan vi förklarar hur man ändrar det, låt oss se lite om logiken bakom hela det här virtuella minnet och swappiness-saken; Och det är att när den lämnas som standard vid 60, är ​​det som kärnan får veta att använda det virtuella minnet när vårt RAM-minne har 40 procent eller mindre av sin lediga kapacitet. Således, om vi ställer in swappiness lika med 100 kommer det virtuella minnet att användas hela tiden, och om vi lämnar det till ett mycket lågt värde, kommer det bara att användas när vårt RAM-minne håller på att ta slut. Det minsta möjliga är 1, eftersom vi lämnar värdet lika med 0 inaktiverar vi det virtuella minnet helt.

Så vad vi måste göra är att ange följande kommando från terminalen (Ctrl + Alt + T):

sudo sysctl vm.swappiness = 10

Nu är värdet av swappiness kommer att vara 10, och då kommer virtuellt minne knappast att användas. När detta värde har ändrats inget behov av att starta om datorn men träder i kraft omedelbart, och faktiskt om vi återställer värdet kommer det att ligga på 60 som tidigare, för det vi kommer att behöva är att lämna denna ändring permanent. För att göra detta, när vi väl har använt vår dator och verifierat att allt är bra med det nya värdet av swappiness, utför vi:

sudo nano /etc/sysctl.conf

varefter vi letar efter texten vm.swappiness = och lägger till önskat värde efter symbolen "=". Vi sparar filen och nu kommer ändringen att vara permanent.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   ceflo sade

    Utmärkt förklaring !!! Mycket bra artikel !! I mitt fall, när jag gör denna ändring när jag startar om den bärbara datorn, återgår den till det ursprungliga värdet 60, det är som att filen sparas men när den startas om är den "formaterad". Jag har redan provat allt utan framgång, har du någon aning om vad som kan hända? Jag har 1 GB Ram.

    Tack!

    1.    Willy klew sade

      Hej César, jag är glad att du tyckte det var intressant.

      Om värdet går förlorat när systemet startar om skulle jag titta på /etc/rc.local och de andra startskripten (de varierar beroende på varje distro) eftersom det kan vara så att detta ställs in vid start.

      Hälsningar!

  2.   Pascual Martin sade

    Mycket bra förklaring!

    Som ett komplement är här en annan intressant om swap och swappiness i Linux:

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

  3.   tittarens tillstånd sade

    du vet inte hur bra det här är för mig, tack

  4.   präst sade

    hälsningar,

    I min /etc/sysctl.conf är inte texten vm.swappiness =, jag letade efter den bra, filen är liten. Såvida du inte måste lägga till det, säger artikeln att du ska hitta och ändra värdet, inte att lägga till raden.

  5.   Lewis sade

    hälsningar,

    I min /etc/sysctl.conf finns det ingen vm.swappiness = text. Såvida du inte måste lägga till det, säger artikeln att du ska hitta och ändra värdet, inte att lägga till raden.

  6.   Nosferatus sade

    Du måste skapa den, i slutet av filen sätter du vm.swappiness = 10 och det är det.

    Om det inte sparar vid omstart kan det bero på att du inte använder sudo-kommandot.

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

  7.   Santiago sade

    Utmärkt artikel. Tack!

  8.   Roberto sade

    Du kan sätta noll. vilka problem kan uppstå?

  9.   Jose Castillo Ávalos sade

    Hej och tack Willy Clew för din artikel som klargör mig processen att använda swappminnet, men det orsakade mig ett stort tvivel, för när det går in i terminalen och kör kommandona som du anger, returnerar det meddelandet som säger:

    bash: cat / proc / sys / vm / swappiness: Fil eller katalog finns inte

    Vad kan orsakas av detta?

    1.    Andres Choque Lopez sade

      Du skrev dåligt. Du satte inte utrymmet efter "katt".

  10.   ismodning sade

    bra, vi delar det i ubuntu-gruppen på spanska https://t.me/ubuntu_es

  11.   Smith sade

    Utmärkt det fungerade för mig på Debian 10.9

  12.   John sade

    Jag är en datavetare Jag har installerat och testat flera distros, det bästa alternativet för att konfigurera swappiness är att skriva i terminalen

    sudo nano /etc/sysctl.conf

    efter att ha tryckt på enter skriver du tangenten och anger igen, skriver sedan följande rad i slutet

    vm.swappiness = 0

    tryck sedan på ctrl och x -tangenten samtidigt, han genererar en fråga om att om du vill spara den nya meningen i filen trycker du på Y -knappen för att säga ja och n så att den inte sparar den

    Varför skrev jag noll 0? Testerna har redan gjorts på olika datorer som jag har programmerat eftersom det är det bästa alternativet eftersom det använder vars paginering men till exempel om krom eller en webbläsare öppnas genom att öppna Facebook eftersom utbytesminnet (swap eller även kallat pagination) kommer att öka men när den är stängd session och webbläsaren eller något program eftersom sökminnet (swap) kommer att minska frigöring av hårddisken vilket är användbart för att undvika att skada den, kom ihåg att swap -minnet eller kallat personsökning (swap) använder hårddisken.

  13.   Norberto gonzalez sade

    Jag förstod inte, förlåt. Om standardinställningen är 60 för att swap ska aktiveras med 40 eller mindre saknas, när parametern ställs in på 10. Skulle den inte aktiveras med 90 av den fria ram? Genom att bromsa datautbyte