Šiame vadove sužinosime, kaip išvalyti RAM talpyklą Linux sistemoje ir išvalyti apsikeitimo vietą.
Kaip ir visos kitos operacinės sistemos, GNU/Linux taip pat įdiegė atminties valdymo sistemą. Nors „Linux“ atminties valdymas yra daug efektyvesnis ir netgi daug naudojamas nei kitose operacinėse sistemose. Tačiau kai kuriais atvejais, kai norite valdyti atminties valdymą arba jei yra vienas ar daugiau procesų, kurie sunaudoja sistemos RAM. Tokiu atveju norime tai sustabdyti; Linux numato kelis praplovimo būdus (išvalyti RAM talpyklą).
Kaip išvalyti talpyklą „Linux“?
Beveik kiekvienoje Linux sistemoje yra trys talpyklos išvalymo būdai. Kai kurie iš jų gali būti puikiai naudojami nenutraukiant jokių vykstančių procesų ar paslaugų. Trys būdai yra tokie:
- Išvalykite tik puslapio talpyklą
- Išvalykite įdubas ir įdubas
- Išvalykite įdubimus ir inodus, išvalykite puslapio talpyklą
Išsamiai aptarsime visus tris metodus ir pamatysime jų praktinį įgyvendinimą:
1. Išvalykite tik puslapio talpyklą –
Šis metodas yra vienas saugiausių būdų išvalyti „Linux“ talpyklą, nes jis gali išvalyti talpyklą neužmušdamas jokių vykdomų operacijų, programų ir paslaugų. Teigiama, kad tai yra saugiausias būdas išvalyti talpyklą, nes jis gali būti naudojamas gamyboje ir išvalo tik „PageCache“. Taikant šį metodą, naudojamos šios komandos:
komandą
# sync ; echo 1 > proc/sys/vm/drop_caches
Paaiškinimas:
Aukščiau pateiktoje komandoje „ sinchronizuoti ' naudojamas failų sistemos buferiui išplauti, o komanda atskiriama naudojant ' ; “, vykdomas nuosekliai.
Tačiau apvalkalas laukia, kol kiekviena komanda bus įvykdyta arba nutraukta, prieš pradėdamas vykdyti kitą sekoje pasiekiamą komandą.
The drop_caches yra naudojami talpyklai praplauti arba išvalyti nesunaikinant ar nepaveikiant jokios kitos veikiančios programos ar paslaugų, kaip tai taip pat aiškiai nurodyta branduolio dokumentacijoje. ' aidas komanda atlieka rašymo į failus darbą.
Veiksmai, kaip išvalyti puslapio talpyklą naudojant terminalą:
1 žingsnis - Atidarykite „Linux“ terminalą ir įveskite šią komandą ir paspauskite „Enter“. Kai komanda bus įvykdyta, ji parodys informaciją apie sistemos atmintį, kaip parodyta pavyzdyje:
komandą
free
Aukščiau pateikta komanda naudojama norint parodyti, kiek atminties naudojama, ir parodyti kitus veiksnius, pvz., bendrą laisvą atmintį, apsikeitimo atmintį ir tt Galime naudoti šią ' Laisvas ' komandą prieš ir po naudojant kiekvieną metodą.
Būtina naudoti komandą „laisva“ prieš ir po tikrosios komandos vykdymo, kad galėtume lengvai pamatyti arba aptikti atminties paskirstymo pokyčius. Pažiūrėkime pavyzdį, kad suprastumėte, kaip iš tikrųjų veikia visas procesas:
Pavyzdys
2. Išvalykite įdubimus ir įdubas
Šis metodas naudojamas išvalyti atmintį nuo danties ir inodų. Jis panašus į pirmąjį metodą, bet šiek tiek kitoks, nes jis naudojamas norint išvalyti atmintį nuo įtrūkimų ir inodų, o ne išvalyti „PageCache“ atmintį. Vis dėlto tai labai panašu į pirmąjį metodą, kurį aptarėme aukščiau. Šiame metode naudojama komanda pateikiama žemiau:
Linux paleisti cmd
komandą
# sync ; echo 2 > proc / sys / vm / drop_caches
Pažiūrėkime pavyzdį, kad suprastume, kaip įgyvendinti šį metodą:
Pavyzdys
3. Išvalykite įdubimus ir inodus, išvalykite puslapio talpyklą
Tai vienas iš efektyviausių metodų. Nepaisant to, tradiciškai nerekomenduojama naudoti tol, kol nežinote, ką darote, nes tai nėra laikoma saugiausia naudoti, ypač gamyboje. Šiam metodui naudojama komanda naudoja „echo 3 >“, kuri tuo pačiu metu išvalo puslapio talpyklą, dentrius ir inodes.
Komanda:
# sync ; echo 3 > / porc / sys / vm / drop_caches
Norėdami išsamiau suprasti, kaip tai iš tikrųjų veikia, apsvarstykite pateiktą pavyzdį:
Pavyzdys:
Pastaba: nerekomenduojama jo naudoti gamyboje, nebent žinote, ką darote, nes jis akimirksniu išvalys „PageCache“ ir „dentries“, taip pat inodes, kaip jau aptarėme aukščiau.
Sukeisti vietą
Apskritai apsikeitimo vieta naudojama tada, kai fizinės atminties panaudojimas yra beveik didžiausias. Taigi, kai ir jei sistemai reikia daugiau atminties resursų, o fizinis RAM užsipildo, visi neaktyvūs puslapiai perkeliami į mainų atminties vietą.
Tačiau apsikeitimo atmintis taip pat padeda sistemai kaip mažas, bet veiksmingas RAM kiekis. Vis dėlto neabejotinai nerekomenduojama apsikeitimo erdvės laikyti fiziniu avinu.
Kaip išvalyti apsikeitimo vietą „Linux“?
Norėdami išvalyti sistemos mainų atmintį, tiesiog reikia išjungti apsikeitimo funkciją. Tai perkels visus duomenis iš apsikeitimo atminties atgal į RAM. Tai taip pat reiškia, kad turite būti tikri, kad jūsų sistemoje yra pakankamai RAM, kad galėtumėte atlikti šią operaciją.
Paprastas būdas tai padaryti yra paleisti 'laisvas-m' komandą, kad pamatytumėte, kas naudojama Swap, RAM, ir išjunkite Swap.
Kai jį išjungsite, turėtumėte palaukti 30 sekundžių ar ilgiau, kad operacija būtų baigta, tada vėl įjunkite. Tai išvalo apsikeitimo atminties talpyklą ir vėl ją įjungia, tačiau prieš išvalydami apsikeitimo funkciją turėtumėte pamatyti esamą (arba numatytąjį) sistemos nustatymą.
Norėdami pamatyti dabartinį sistemos apsikeitimo nustatymą, jums tereikia atidaryti terminalą, naudokite šią komandą, kaip parodyta išvestyje:
cat /proc/sys/vm/swappiness
Išvestis
Kaip matote, dabartinė mūsų sistemos apsikeitimo vertė yra „60“ sekundžių. Tačiau, jei norite ją pakeisti, galite nustatyti nuo 0 iki 100. Šios reikšmės redagavimo (atnaujinimo) procesas yra gana paprastas. Viskas, terminale turite įvesti šią komandą ir paspausti enter:
Komanda:
sudo sysctl vm.swappiness=x
(Čia x yra apsikeitimo vertė, kurią norime nustatyti)
Kaip matote aukščiau pateiktoje išvestyje, dabartinė mūsų sistemos apsikeitimo vertė (arba numatytoji vertė) yra 60. Pabandykime pakeisti apsikeitimo vertę į 40.
1. Atidarykite terminalą paspausdami Ctrl + Alt + T klaviatūroje.
2. Kai terminalas atsidarys, įveskite šią komandą ir paspauskite enter, kaip parodyta toliau pateiktame paveikslėlyje:
sudo sysctl vm.swappiness=40
Išvestis
Pastaba: gali būti paprašyta įvesti slaptažodį, nes mums reikia paleisti šią komandą su superUser (root vartotojo) teisėmis.
Patikrinimas
Norėdami patikrinti, ar apsikeitimo vertė sėkmingai atnaujinta, įveskite šią komandą ir paspauskite Enter mygtuką:
cat /proc/sys/vm/swappiness
Išvestis
Kaip matote išvestyje, mes sėkmingai atnaujinome apsikeitimo vertę iki 40.
Išvalyti apsikeitimo vietą
Norėdami išvalyti apsikeitimo vietą, procesas yra gana paprastas, nes mums tiesiog reikia išjungti dviratį Apsikeitimas, dėl kurio visi duomenys arba neaktyvūs puslapiai iš Swap atminties vietos perkeliami atgal į RAM. Išjungę apsikeitimo funkciją, turite palaukti 30 sekundžių ir paleisti iš naujo arba vėl įjungti apsikeitimo vietą.
Naudingos komandos:
Štai keletas pagrindinių komandų, kurios padės mums išvalyti apsikeitimo erdvę:
Keitimo atminties išvalymo veiksmai
Pažiūrėkime, kaip naudoti šias komandas norint išvalyti apsikeitimo vietą arba atmintį:
1 žingsnis. Atidarykite terminalą paspausdami Ctrl + Alt + T “ klaviatūroje.
2 žingsnis. Kai terminalas atsidarys, įveskite „ sudo -i ' komandą, nes mums gali prireikti supervartotojo privilegijos paleisti aukščiau pateiktas komandas:
3 veiksmas. Įveskite komandą „free -m“, kad peržiūrėtumėte atminties panaudojimą išjungti dviratį į Sukeisti :
Žingsnis - 4 Dabar įveskite ' Apsikeitimas -a “ komandą ir paspauskite Enter, kad išjungtumėte Swap, kaip parodyta toliau:
5 veiksmas. Po to, kai išjungti dviratį , Swap laukia mažiausiai 40 sekundžių.
Java concatenate eilutes
6 veiksmas. Dabar įveskite „swap-a“ ir paspauskite „Enter“, kad vėl įjungtumėte „Swap“. Norėdami pamatyti skirtumą (arba pakeisti) atminties naudojimą, dar kartą paleiskite komandą „free-m“, kaip parodyta toliau:
Tikimės, kad tai padės išvalyti sistemos mainų atmintį, jei kada nors atsidursite tokioje situacijoje.