Ubuntu Mälu Vabastamine: Kiirenda Süsteemi Lihtsalt | Digibeatrix

目次

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:

  1. RAM (füüsiline mälu)
    See on koht, kus programmid ja andmed ajutiselt salvestatakse. Piisav maht on töökiiruse jaoks oluline.
  2. 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.
  3. 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.

  1. Installimine:
   sudo apt install htop
  1. 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:

  1. 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.
  1. Kontrollmeetod
    Kontrollige mälu olekut enne ja pärast vahemälu vabastamist, kasutades free -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.

  1. Saaleala faili loomine
   sudo fallocate -l 1G /swapfile

Ülaltoodud käsk loob 1GB saaleala faili.

  1. Õiguste seadistamine
   sudo chmod 600 /swapfile
  1. Saaleala aktiveerimine
   sudo mkswap /swapfile
   sudo swapon /swapfile
  1. Kontrollimine
    Kontrollige uuesti swapon --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.

  1. Käsk ps aux
   ps aux --sort=-%mem | head

Kuvab mälu tarbivad protsessid ülalt alla.

  1. 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

  1. zRAM-i installimine
    Ubuntu ametlikust repositooriumist on saadaval zRAM-i seadistamise tööriist.
   sudo apt install zram-config
  1. 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.

  1. 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.

  1. 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.

  1. Skripti salvestamine
    Salvestage fail nimega memory_cleanup.sh.
   nano ~/memory_cleanup.sh

Kleepige ülaltoodud kood ja salvestage.

  1. Käivitamisõiguste andmine
    Käivitamiseks muutke õigusi.
   chmod +x ~/memory_cleanup.sh
  1. 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.

  1. Cron-i seadistuste muutmine
   crontab -e
  1. Töö lisamine
    Järgmine rida käivitab skripti iga tunni järel.
   0 * * * * sudo ~/memory_cleanup.sh
  1. 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

  1. 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.
  1. Konkreetsed vabastamise meetodid
  • Leheküljevahemälu vabastamine: Lihtne vabastada sync käsu ja vm.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.
  1. Automaatsete tööriistade kasutamine
  • zRAM ja automaatsed skriptid muudavad regulaarse mäluhalduse lihtsaks.
  1. Märkused
  • Vahemälu ja saaleala kustutamine võib mõjutada süsteemi üldist jõudlust. Määrake sagedus ja ajastus hoolikalt.
  1. 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, kasutades htop ja free 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.

侍エンジニア塾