„Swappiness“: kaip koreguoti virtualios atminties naudojimą

virtualioji atmintis

Čia Ubunlog Mes skiriame save – arba stengiamės atsiduoti – visiems vartotojams, ir tai apima labai skirtingas aparatinės įrangos konfigūracijas. Ir tam tikra prasme mums patinka manyti, kad čia rodomais vadovėliais kažkaip prisidedame prie bendros naudotojų patirties gerinimo šioje mums labai patinkančioje distro (bet kokio skonio), todėl dažnai skelbiame vadovus. dėl gauti geriausią rezultatą įmanoma, ypač kuklesnėje įrangoje.

Dabar, nenueidami toliau, parodysime Vista kaip koreguoti virtualios atminties naudojimą Vista ubuntu, tokiu būdu išvengiant, kad galų gale tai taptų kliūtimi ir prastintų pasirodymą, nei būtų be jo. Ir tai, kad nors failo ar apsikeitimo skaidinio naudojimo idėja pati savaime nėra bloga, bet atvirkščiai, jei ji nėra tinkamai įgyvendinta, ji gali sukelti pernelyg didelį standžiojo disko naudojimą, daug lėtesnį nei RAM.

Dėl šios priežasties apsikeitimo skaidinys turėtų būti naudojamas tik tose situacijose, kai nėra kitos alternatyvos, tik ją naudoti, tuo metu jis palaikys pagrindinę atmintį (tai yra RAM). Jei mes jį naudosime visada, kartais net prieš RAM, mūsų našumas bus nubaustas. Pažiūrėkime tada kaip koreguoti virtualios atminties naudojimą sistemoje „Linux“ naudojant komandą „Swappiness“.

Mūsų operacinėje sistemoje virtualiosios atminties kūrimas paprastai atliekamas diegimo metu, tuo metu mes apibrėžiame šakninį skaidinį (/), saugyklos skaidinį (/ home) ir mainų skaidinį arba apsikeitimo, kuris paprastai įgyvendinamas / dev / sda5 skaidinyje. Branduolio parametras, valdantis virtualios atminties naudojimą, yra anksčiau minėtas „swappiness“, ir iš esmės galime sakyti, kad jis atsakingas už argumentą, kuris kinta tarp skirtingų 0 ir 100.

Numatytoji „Linux“ diegimo vertė yra 60, tačiau, kaip lengva manyti, ne visos aparatūros konfigūracijos yra vienodos, todėl nėra prasmės išlaikyti tą lygį, nepaisant to, kuris yra mūsų. Ši reikšmė saugoma / proc / sys / vm / swappiness faile, ir mes galime ją patikrinti:

cat / proc / sys / vm / swappiness

Beveik neabejotinai bus 60 metų, ir jei taip yra, mums gali tekti jį ypač pakeisti jei turime daugiau nei 4 GB operatyviosios atminties, nes tokiu atveju virtualiosios atminties paprastai reikia mažai arba visai nereikia. Bet prieš paaiškindami, kaip tai modifikuoti, pažiūrėkime šiek tiek apie viso šio dalyko, susijusio su virtualia atmintimi ir sąveika, logiką; Ir tai yra tai, kad kai pagal numatytuosius nustatymus paliekama 60, branduoliui sakoma: eikite ir naudokite virtualiąją atmintį, kai mūsų RAM atmintis turi 40 ar mažiau procentų laisvos talpos. Taigi, jei nustatysime „swappiness“ 100, virtualioji atmintis bus naudojama visą laiką, ir jei paliksime labai mažą vertę, jis bus naudojamas tik tada, kai mūsų RAM greitai baigsis. Mažiausias galimas skaičius yra 1, nes palikę vertę, lygią 0, visiškai išjungsime virtualiąją atmintį.

Taigi, ką turime padaryti, tai įveskite šią komandą iš terminalo (Ctrl + Alt + T):

sudo sysctl vm.swappiness = 10

Dabar vertė „swappiness“ bus 10, tada virtuali atmintis beveik nebus naudojama. Kai ši vertė bus pakeista nereikia paleisti kompiuterio iš naujo, tačiau jis įsigalioja iškartir iš tikrųjų, jei atstatysime vertę, ji bus 60, kaip ir anksčiau, nes mums reikės palikti šį pakeitimą visam laikui. Norėdami tai padaryti, pasinaudoję kompiuteriu ir patikrinę, ar viskas gerai su nauja „swappiness“ verte, vykdome:

sudo nano /etc/sysctl.conf

po kurio mes ieškome teksto vm.swappiness = ir po simboliu "=" pridedame norimą vertę. Išsaugome failą ir dabar pakeitimas bus nuolatinis.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   ceflo sakė

    Puikus paaiškinimas !!! Labai geras straipsnis !! Mano atveju, atlikus šį pakeitimą iš naujo paleidus nešiojamąjį kompiuterį, jo pradinė vertė yra 60, panašu, kad failas yra išsaugotas, bet iš naujo paleidus jis „suformatuotas“. Aš jau viską bandžiau nesėkmingai, ar jūs neįsivaizduojate, kas gali atsitikti? Turiu 1 GB RAM.

    Thank you!

    1.    Willy klew sakė

      Sveikas, César, džiaugiuosi, kad tau pasirodė įdomu.

      Jei reikšmė prarandama, kai sistema paleidžiama iš naujo, žiūrėčiau /etc/rc.local ir kitus paleidimo scenarijus (jie skiriasi priklausomai nuo kiekvieno paskirstymo), nes gali būti, kad tai nustatyta paleidimo metu.

      Sveiki atvykę!

  2.   Paskalis Martinas sakė

    Labai geras paaiškinimas!

    Čia yra dar vienas įdomus dalykas apie „Swap“ ir „swappiness“ sistemoje „Linux“:

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

  3.   žiūrovo būsena sakė

    tu nežinai, kaip man tai gerai, ačiū

  4.   dvasininkas sakė

    Pagarbiai,

    Mano /etc/sysctl.conf nėra teksto vm.swappiness =, aš jo gerai ieškojau, failas yra mažas. Jei nereikia pridėti, straipsnyje sakoma, kad reikia surasti ir pakeisti vertę, o ne pridėti eilutės.

  5.   Lewis sakė

    Pagarbiai,

    Mano /etc/sysctl.conf faile nėra vm.swappiness = text. Jei nereikia pridėti, straipsnyje sakoma, kad reikia surasti ir pakeisti vertę, o ne pridėti eilutės.

  6.   Nosferatus sakė

    Turite jį sukurti, failo pabaigoje įdėkite vm.swappiness = 10 ir viskas.

    Jei tai neišsaugo iš naujo paleidus, gali būti, kad nenaudojate komandos sudo.

    „Ubuntu“: sudo gedit /etc/sysctl.conf
    „Xubuntu“: „sudo“ pelės klaviatūra /etc/sysctl.conf

  7.   Santjagas sakė

    Puikus straipsnis. Ačiū!

  8.   roberto sakė

    Galite uždėti nulį. kokios problemos gali atsirasti?

  9.   Jose Castillo Ávalos sakė

    Sveiki ir ačiū Willy Clewui už jūsų straipsnį, kuris man aiškiai paaiškina keitimosi atminties naudojimo procesą, tačiau man sukėlė didžiulę abejonę, nes įvesdamas terminalą ir vykdydamas nurodytas komandas, jis grąžins pranešimą:

    bash: cat / proc / sys / vm / swappiness: Failo ar katalogo nėra

    Kas tai gali sukelti?

    1.    Andrés Choque Lopezas sakė

      Jūs parašėte blogai. Jūs nepadėjote vietos po „katinu“.

  10.   ikimodingas sakė

    puiku, dalinamės ja ubuntu grupe ispanų kalba https://t.me/ubuntu_es

  11.   Kalvis sakė

    Puiku, man tai naudojo „Debian 10.9“

  12.   Jonas sakė

    Esu kompiuterių mokslininkas, esu įdiegęs ir išbandęs keletą distribucijų, geriausias būdas sukonfigūruoti apsikeitimo funkciją yra rašyti terminale

    sudo nano /etc/sysctl.conf

    paspaudę įveskite, parašykite klavišą ir įveskite dar kartą, o pabaigoje parašykite kitą eilutę

    vm.pasikeitimas = 0

    tada vienu metu paspauskite ctrl ir x klavišą, jis sugeneruoja klausimą, kad jei norite išsaugoti naują sakinį faile, paspauskite Y klavišą, kad pasakytumėte taip ir n, kad jis neišsaugotų

    Kodėl aš parašiau nulį 0? Bandymai jau buvo atlikti su skirtingais asmeniniais kompiuteriais, kuriuos aš užprogramavau, nes tai yra geriausias pasirinkimas, nes jis naudoja kieno puslapių puslapius, bet, pavyzdžiui, jei atidarius „Facebook“ atidaromas „chromium“ ar naršyklė, nes padidėja mainų atmintis (apsikeitimo arba taip pat vadinama puslapio puslapio numeracija) bet kai uždaras seansas ir naršyklė ar bet kuri programa, nes sumažės ieškos atmintis (apsikeitimo), atlaisvins standųjį diską, kuris yra naudingas, kad jo nepažeistumėte, atminkite, kad apsikeitimo atmintis arba vadinamasis peidžavimas (apsikeitimas) naudoja standųjį diską.

  13.   Norberto gonzalezas sakė

    Nesupratau, atsiprašau. Jei numatytasis nustatymas yra 60, kad apsikeitimo funkcija būtų suaktyvinta, kai trūksta 40 ar mažiau, nustatant parametrą į 10. Ar jis nebūtų suaktyvintas naudojant 90 laisvojo avino? Sulėtinus keitimąsi duomenimis