- 1 1. Sissejuhatus
- 2 2. Ubuntu mäluhalduse põhimõtted
- 3 3. Konkreetsed mälu vabastamise meetodid
- 4 4. Automaatse mälu vabastamise tööriistade kasutamine
- 5 5. Tähelepanu
- 6 6. Korduma kippuvad küsimused (KKK)
- 6.1 K1. Kas mälu on vaja tihti vabastada?
- 6.2 K2. Kas vahemälu kustutamine aeglustab süsteemi?
- 6.3 K3. Millist mõju avaldab saaleala suurendamine?
- 6.4 K4. Kas mälu on võimalik automaatselt vabastada?
- 6.5 K5. Kas süsteem võib pärast mälu vabastamist ebastabiilseks muutuda?
- 6.6 K6. Kas zRAM on kõigi süsteemide jaoks efektiivne?
- 6.7 K7. Mis on põhjus, kui mälu vabastamise järel ei tunne efekti?
- 7 7. Kokkuvõte
1. Sissejuhatus
Ubuntu on populaarne avatud lähtekoodiga Linuxi distributsioon, mida kasutavad paljud kasutajad. Kuid kui süsteem töötab pikka aega, võib mälu järk-järgult väheneda. See on tingitud sellest, et vahemälu ja ebavajalikud protsessid hõivavad mälu.
See artikkel selgitab konkreetseid meetodeid mälu vabastamiseks Ubuntus ja süsteemi jõudluse parandamiseks. See on suunatud algajatele ja kesktaseme kasutajatele ning pakub lahendusi koos tegelike käsunäidete ja skriptidega. Igaüks, kes tunneb Ubuntu põhioperatsioone, saab seda hõlpsalt rakendada.
Selle artikli lugemise eelised
- Saate aru mälu toimimisest.
- Õppige konkreetseid meetodeid mälu vabastamiseks Ubuntus.
- Saate näpunäiteid süsteemi jõudluse parandamiseks.
2. Ubuntu mäluhalduse põhimõtted
Mälutüübid ja rollid
Ubuntu mäluhaldus koosneb järgmistest kolmest põhielemendist:
- RAM (füüsiline mälu)
See on koht, kus programmid ja andmed ajutiselt salvestatakse. Piisav maht on töökiiruse jaoks oluline. - Vahemälu (Cache memory)
Andmed, mis salvestatakse ajutiselt, et kiirendada programmide ja failide taaskasutamist. Vahemälu suurenemine võib parandada kiirust, kuid liigne kogunemine võib põhjustada füüsilise mälu puudujäägi. - Saaleala (Swap space)
Salvestusala, mida kasutatakse ajutiselt, kui RAM-ist napib. Kuid kuna HDD-d ja SSD-d on RAM-ist aeglasemad, halveneb jõudlus, kui liigselt saalealale tugineda.
Praeguse mälu kasutusoleku kontrollimine
Mälu kasutusoleku kontrollimiseks kasutage järgmisi käske:
Käsk free -h
free -h
See käsk kuvab mälu kasutuse arusaadavas “inimesele loetavas vormingus”.
Väljundi näide:
total used free shared buff/cache available
Mem: 7.7G 2.5G 1.8G 1.2G 3.4G 4.0G
Swap: 2.0G 0B 2.0G
- total: Mälu kogumaht
- used: Kasutatav mälu
- free: Vaba mälu
- buff/cache: Vahemälus kasutatav mälu
- available: Tegelikult saadaolev mälu
Tööriist htop
Mälu kasutuse reaalajas kontrollimiseks on htop
mugav.
- Installimine:
sudo apt install htop
- Käivitamine:
htop
See kuvab värvilise liidese abil CPU ja mälu kasutust reaalajas.
3. Konkreetsed mälu vabastamise meetodid
3.1 Leheküljevahemälu vabastamine
Mis on leheküljevahemälu?
Leheküljevahemälu on mehhanism failide ja andmete ajutiseks salvestamiseks mällu, et neile kiiremini ligi pääseda. Tavaliselt on see kasulik funktsioon, kuid mälu puudumisel saab vahemälu vabastamisega ressursse tagada.
Vabastamise meetod
Vahemälu vabastamiseks järgige neid samme:
- Vahemälu vabastamise käsk
Vahemälu vabastamiseks kasutage järgmist käsku.
sudo sync && sudo sysctl -w vm.drop_caches=3
sync
: Sünkroonib kettale kirjutatavad andmed.sysctl -w vm.drop_caches=3
: Vabastab leheküljevahemälu.
- Kontrollmeetod
Kontrollige mälu olekut enne ja pärast vahemälu vabastamist, kasutadesfree -h
.
Märkus
- Vahemälu kustutamine võib ajutiselt süsteemi aeglustada.
- Tavaliselt hallatakse vahemälu automaatselt, seega pole sage vabastamine vajalik.
3.2 Saaleala optimeerimine
Mis on saaleala?
Saaleala on ala kettal, mida kasutatakse andmete ajutiseks salvestamiseks, kui RAM-ist napib. Kuna see on RAM-ist aeglasem, võib saaleala kasutamine põhjustada jõudluse langust.
Saaleala kontrollimine
Praeguse saaleala kontrollimiseks kasutage järgmist käsku:
swapon --show
Saaleala lisamine
Kui saalealast napib, looge uus saaleala fail.
- Saaleala faili loomine
sudo fallocate -l 1G /swapfile
Ülaltoodud käsk loob 1GB saaleala faili.
- Õiguste seadistamine
sudo chmod 600 /swapfile
- Saaleala aktiveerimine
sudo mkswap /swapfile
sudo swapon /swapfile
- Kontrollimine
Kontrollige uuestiswapon --show
abil, et uus saaleala on aktiveeritud.
Saaleala vabastamine
Saaleala vabastamiseks kasutage järgmist käsku:
sudo swapoff -a && sudo swapon -a
See viib saalealas olevad andmed tagasi RAM-i.
3.3 Ebavajalike protsesside lõpetamine
Mis on ebavajalikud protsessid?
Mälu vabastatakse, tuvastades ja lõpetades protsessid, mis tarbivad süsteemis palju mälu, kuid mida praegu ei kasutata.
Protsesside kontrollimine
Kontrollige mälu tarbivaid protsesse htop
või ps aux
käsu abil.
- Käsk
ps aux
ps aux --sort=-%mem | head
Kuvab mälu tarbivad protsessid ülalt alla.
- Käsk
htop
- Võimaldab interaktiivselt protsesse kontrollida ja hõlpsalt lõpetada.
Protsessi lõpetamine
Tuvastage protsessi ID (PID) ja kasutage järgmist käsku:
sudo kill -9 <PID>
4. Automaatse mälu vabastamise tööriistade kasutamine
4.1 zRAM-i seadistamine
Mis on zRAM?
zRAM on tehnoloogia, mis kasutab kokkusurutud mälu, et virtuaalselt RAM-i suurendada. See on kiirem kui kettapõhise saaleala kasutamine ja suudab tõhusalt leevendada mäluprobleeme.
zRAM-i installimine ja seadistamine
- zRAM-i installimine
Ubuntu ametlikust repositooriumist on saadaval zRAM-i seadistamise tööriist.
sudo apt install zram-config
- zRAM-i toimimise kontrollimine
Pärast installimist aktiveeritakse see automaatselt. Kontrollige zRAM-i aktiivsust järgmise käsuga:
swapon --show
Kui tulemuses kuvatakse /dev/zram0
vms, on see aktiivne.
- Kohandatud seadistamine
Kui soovite zRAM-i seadistusi kohandada, muutke seadistusfaili.
sudo nano /etc/default/zram-config
Muutke vastavalt vajadusele tihendussuhet ja suurust ning taaskäivitage.
zRAM-i kasutamise eelised
- Ketta ligipääsud vähenevad ja süsteemi reageerimisvõime paraneb.
- Saaleala kasutus väheneb oluliselt.
4.2 Automaatse mälu vabastamise skripti loomine
Lihtsa skripti loomine
Järgmist shelliskripti kasutades saate mälu vabastamist automatiseerida.
- Skripti sisu
#!/bin/bash
sync && echo 3 > /proc/sys/vm/drop_caches
echo "Mälu vabastatud: $(date)"
See skript vabastab leheküljevahemälu ja logib vabastamise aja.
- Skripti salvestamine
Salvestage fail nimegamemory_cleanup.sh
.
nano ~/memory_cleanup.sh
Kleepige ülaltoodud kood ja salvestage.
- Käivitamisõiguste andmine
Käivitamiseks muutke õigusi.
chmod +x ~/memory_cleanup.sh
- Käsitsi käivitamine
Käivitage skript järgmise käsuga:
sudo ~/memory_cleanup.sh
Regulaarse käivituse seadistamine
Skripti regulaarseks käivitamiseks kasutage cron
-i.
- Cron-i seadistuste muutmine
crontab -e
- Töö lisamine
Järgmine rida käivitab skripti iga tunni järel.
0 * * * * sudo ~/memory_cleanup.sh
- Salvestamine ja kontrollimine
Salvestage seadistused ja kontrollige järgmise käsuga, kas töö on õigesti registreeritud.
crontab -l
4.3 Märkused
- zRAM-i ressursitarbimine: Tihendamine kasutab CPU ressursse, seega olge ettevaatlik nõrga süsteemi puhul.
- Skripti käivitussagedus: Oluline on määrata õige käivitussagedus. Liiga sage käivitamine võib süsteemi jõudlust halvendada.

5. Tähelepanu
5.1 Mõista vahemälu kustutamise mõju
Vahemälu kustutamise riskid
- Vahemälu aitab süsteemi kiirendada, seega võib selle kustutamine ajutiselt ligipääsu kiirust vähendada.
- Eriti andmebaasiserverites ja keskkondades, kus failidele sageli ligi pääsetakse, võib vahemälu kustutamine anda vastupidise efekti.
Millal on kustutamine vajalik?
Vahemälu tuleks kustutada ainult siis, kui füüsiline mälu on kriitiliselt täis ja uute protsesside käivitamiseks napib ressursse.
5.2 Saaleala haldamine
Liigne saaleala kasutus
Saaleala sage kasutamine suurendab ketta I/O-d ja vähendab süsteemi üldist reageerimisvõimet.
Sobiv saaleala suurus
Saaleala sobiv suurus sõltub süsteemi kasutusest ja RAM-i mahust. Määrake see järgmiste soovituste alusel:
- RAM alla 2GB: Soovitatav saaleala on umbes 2 korda RAM-i suurus.
- RAM 2GB või rohkem: Soovitatav saaleala on RAM-iga võrdne või väiksem.
Saaleala vabastamise sagedus
Saaleala vabastamine aitab lahendada ajutisi mäluprobleeme, kuid vältige selle sagedast käivitamist. Kui saaleala uuesti kasutatakse, tekib taas seadistamise koormus.
5.3 Protsessi lõpetamise riskid
Ebavajalike protsesside tuvastamine
Süsteemile vajalike protsesside ekslik lõpetamine võib põhjustada rakenduste krahhe ja süsteemi ebastabiilsust.
Ohutu lõpetamise meetod
Kasutage protsesside hoolikaks kontrollimiseks näiteks htop
-i ja lõpetamisel kasutage järgmist käsku:
kill -9 <PID>
Kuid kill -9
teostab sundlõpetamise, seega kasutage seda ettevaatlikult.
5.4 zRAM-i kasutamisel tähelepanu
CPU koormuse suurenemine
zRAM kasutab tihendusalgoritme, seega võib see mõjutada toimimist, eriti madala CPU jõudlusega süsteemides.
Jõudluse jälgimine
Kui olete zRAM-i juurutanud, kontrollige süsteemi olekut regulaarselt, kasutades htop
või free
käsku.
5.5 Automaatsete skriptide seadistamisel tähelepanu
Skripti käivitussagedus
Skripti liigne käivitamine võib põhjustada tarbetut vahemälu kustutamist ja süsteemi jõudluse langust. cron
-i seadetes on sobivaks sageduseks 1-2 tunni tagant käivitamine.
Logi pidamine
Skripti käivitamise tulemuste logimine hõlbustab probleemide korral põhjuse leidmist.
#!/bin/bash
sync && echo 3 > /proc/sys/vm/drop_caches
echo "Mälu vabastatud: $(date)" >> /var/log/memory_cleanup.log
6. Korduma kippuvad küsimused (KKK)
K1. Kas mälu on vaja tihti vabastada?
V: Ei ole vaja. Ubuntu mäluhaldus on automatiseeritud ja tavaliselt pole käsitsi vabastamine vajalik. Mälu vabastamist tuleks teha ainult teatud olukordades, näiteks siis, kui füüsilisest mälust napib ja süsteemi jõudlus langeb.
K2. Kas vahemälu kustutamine aeglustab süsteemi?
V: Ajutiselt võib see kiirust vähendada. Vahemälu aitab kaasa kiirendamisele, seega pärast kustutamist peab süsteem andmed uuesti lugema. Kuid vahemälu kustutamine aitab eemaldada tarbetud andmed ja tagada ressursid uutele protsessidele.
K3. Millist mõju avaldab saaleala suurendamine?
V: Saaleala suurendamine takistab süsteemi krahhi, kuna RAM-i puudumisel kasutatakse kettal olevat saaleala. Kuid kuna saaleala on RAM-ist aeglasem, võib liigne sõltuvus sellest jõudlust halvendada.
K4. Kas mälu on võimalik automaatselt vabastada?
V: Jah, seda saab automatiseerida skriptide ja tööriistade abil. Näiteks saab cron
-i abil regulaarselt käivitada vahemälu vabastamise skripti. Samuti saab zRAM-i juurutades tõhusalt kompenseerida mälu puudust ilma käsitsi sekkumiseta.
K5. Kas süsteem võib pärast mälu vabastamist ebastabiilseks muutuda?
V: Kui vabastamine tehakse õigesti, pole tavaliselt probleeme. Kuid süsteem võib muutuda ebastabiilseks, kui vajalikud protsessid ekslikult lõpetatakse või olulist vahemälu tihti kustutatakse. Oluline on tegutseda ettevaatlikult.
K6. Kas zRAM on kõigi süsteemide jaoks efektiivne?
V: zRAM on eriti efektiivne süsteemides, kus RAM-i on vähe. Piisava RAM-iga suure jõudlusega süsteemides võib zRAM-i efekt olla väiksem. Samuti võib madala CPU jõudlusega süsteemides zRAM-i tihendamine koormust tekitada.
K7. Mis on põhjus, kui mälu vabastamise järel ei tunne efekti?
V: Põhjuseks võivad olla järgmised tegurid:
- Vahemälu oli juba kustutatud ja lisavabastamine polnud vajalik.
- Saaleala kasutati vähe ja füüsiline mälu oli juba optimeeritud.
- Jõudluslanguse põhjuseks on muu süsteemi kitsaskoht (CPU koormus või ketta I/O).
7. Kokkuvõte
See artikkel selgitas üksikasjalikult mälu vabastamise meetodeid Ubuntus, alates põhitõdedest kuni konkreetsete sammudeni. Mälu puudus on süsteemi jõudluse languse peamine põhjus, kuid seda saab tõhusalt lahendada õige haldamise ja vabastamise abil.
Oluliste punktide ülevaade
- Ubuntu mäluhalduse mehhanism
- Mälu koosneb “RAM-ist”, “vahemälust” ja “saalealast”, millel on igaühel erinevad rollid. Selle mõistmine aitab õigesti hinnata mälu vabastamise vajadust.
- Konkreetsed vabastamise meetodid
- Leheküljevahemälu vabastamine: Lihtne vabastada
sync
käsu javm.drop_caches
abil. - Saaleala haldamine: Saaleala faili lisamine ja vabastamine parandab stabiilsust RAM-i puudumisel.
- Ebavajalike protsesside lõpetamine: Mälu tarbivate protsesside tuvastamine ja ohutu lõpetamine.
- Automaatsete tööriistade kasutamine
- zRAM ja automaatsed skriptid muudavad regulaarse mäluhalduse lihtsaks.
- Märkused
- Vahemälu ja saaleala kustutamine võib mõjutada süsteemi üldist jõudlust. Määrake sagedus ja ajastus hoolikalt.
- KKK-ga lahendatud
- Vastati küsimustele, mida lugejad sageli küsivad, näiteks mälu vabastamise sagedus ja konkreetsed efektid.
Edasised sammud
Ubuntu mäluhaldus ei piirdu pelgalt vabastamisega, vaid oluline on ka regulaarne jälgimine ja sobiv ressursside jaotamine. Soovitatakse järgmisi lähenemisviise:
- Süsteemi jälgimise harjumuseks muutmine
Kontrollige regulaarselt mälu olekut, kasutadeshtop
jafree
käske. - Mälu tõhususe parandamine
Vaadake üle süsteemi üldine tõhusus, näiteks keelake harva kasutatavad protsessid. - Tööriistade kasutamine
Vähendage koormust, juurutades zRAM-i ja automatiseerimise skriptide abil.
Selle artikli abil saate tõhusamalt hallata oma Ubuntu süsteemi ja säilitada stabiilse jõudluse. Regulaarne hooldus ja sobiv ressursside haldamine on mugava töökeskkonna võti.