Hvernig á að hreinsa skyndiminni, biðminni og skipta um vinnsluminni á Linux


Eins og hvert annað stýrikerfi hefur GNU/Linux innleitt minnisstjórnun á skilvirkan hátt og jafnvel meira en það. En ef eitthvert ferli er að éta minnið þitt og þú vilt hreinsa það, þá býður Linux upp á leið til að skola eða hreinsa skyndiminni.

  • Finndu 15 bestu ferla eftir minnisnotkun í Linux
  • Finndu helstu ferla í gangi eftir mestu minni og örgjörvanotkun í Linux
  • Hvernig á að takmarka tíma og minnisnotkun ferla í Linux

Sérhvert Linux kerfi hefur þrjá möguleika til að hreinsa skyndiminni án þess að trufla ferla eða þjónustu.

1. Hreinsaðu aðeins PageCache.

# sync; echo 1 > /proc/sys/vm/drop_caches

2. Hreinsaðu tannbein og inóða.

# sync; echo 2 > /proc/sys/vm/drop_caches

3. Hreinsaðu síðuskyndiminni, tannbein og inóða.

# sync; echo 3 > /proc/sys/vm/drop_caches 

Skýring á ofangreindri skipun.

sync mun skola biðminni skráarkerfisins. Skipun aðskilin með \; keyrt í röð. Skelin bíður eftir að hverri skipun lýkur áður en næstu skipun í röðinni er keyrð. Eins og fram kemur í kjarnaskjölunum mun ritun á drop_cache hreinsa skyndiminni án þess að drepa neina forrit/þjónusta, command echo er að skrifa í skrá.

Ef þú þarft að hreinsa skyndiminni disksins er fyrsta skipunin öruggust í fyrirtæki og framleiðslu þar sem \...echo 1 > ….” hreinsar aðeins PageCache. Ekki er mælt með því að nota þriðji valmöguleikinn fyrir ofan \...echo 3 >” í framleiðslu þar til þú veist hvað þú ert að gera, þar sem það mun hreinsa síðuskyndiminni, dentries og inodes.

Þegar þú ert að nota ýmsar stillingar og vilt athuga hvort það sé í raun útfært sérstaklega á I/O-umfangsmiklu viðmiðinu, þá gætir þú þurft að hreinsa biðminni skyndiminni. Þú getur sleppt skyndiminni eins og útskýrt er hér að ofan án þess að endurræsa kerfið, þ.e.a.s. engin niður í miðbæ þarf.

Linux er hannað á þann hátt að það lítur inn í skyndiminni disksins áður en það er skoðað á diskinn. Ef það finnur auðlindina í skyndiminni, þá nær beiðnin ekki til disksins. Ef við hreinsum skyndiminni, mun diska skyndiminni vera minna gagnlegt þar sem stýrikerfið mun leita að auðlindinni á disknum.

Þar að auki mun það einnig hægja á kerfinu í nokkrar sekúndur á meðan skyndiminni er hreinsað og sérhver auðlind sem OS þarfnast er hlaðin aftur í skyndiminni disksins.

Nú munum við búa til skeljaforskrift til að hreinsa vinnsluminni skyndiminni sjálfkrafa daglega klukkan 2 að morgni með cron tímaáætlunarverkefni. Búðu til skeljaforskrift clearcache.sh og bættu við eftirfarandi línum.

#!/bin/bash
# Note, we are using "echo 3", but it is not recommended in production instead use "echo 1"
echo "echo 3 > /proc/sys/vm/drop_caches"

Stilltu framkvæmdarheimild á clearcache.sh skránni.

# chmod 755 clearcache.sh

Nú geturðu hringt í handritið hvenær sem þú þarft að hreinsa hrúta skyndiminni.

Stilltu nú cron til að hreinsa vinnsluminni skyndiminni á hverjum degi klukkan 2 að morgni. Opnaðu crontab til að breyta.

# crontab -e

Bættu við línunni fyrir neðan, vistaðu og hættu til að keyra hana klukkan 2:00 daglega.

0  2  *  *  *  /path/to/clearcache.sh

Fyrir frekari upplýsingar um hvernig á að safna starfi, gætirðu viljað skoða grein okkar um 11 Cron tímaáætlunarstörf.

Nei! það er ekki. Hugsaðu um aðstæður þar sem þú hefur tímasett handritið til að hreinsa hrútsskyndiminni á hverjum degi klukkan 02:00. Á hverjum degi klukkan 02:00 er handritið keyrt og það skolar vinnsluminni skyndiminni þinn. Einn dagur af hvaða ástæðu sem er getur verið meira en búist var við að notendur eru á netinu á vefsíðunni þinni og leita að auðlindum frá netþjóninum þínum.

Á sama tíma keyrir áætlunarforritið og hreinsar allt í skyndiminni. Nú eru allir notendur að sækja gögn af disknum. Það mun leiða til hruns á netþjóni og skemmir gagnagrunninn. Svo hreinsaðu ram-skyndiminni aðeins þegar þess er krafist, og þekktu fótspor þín, annars ertu Cargo Cult kerfisstjóri.

Ef þú vilt hreinsa Swap pláss gætirðu viljað keyra skipunina hér að neðan.

# swapoff -a && swapon -a

Einnig geturðu bætt ofangreindri skipun við cron skriftu hér að ofan, eftir að hafa skilið allar tengdar áhættur.

Nú munum við sameina báðar ofangreindar skipanir í eina skipun til að búa til rétta skriftu til að hreinsa vinnsluminni skyndiminni og skipta um pláss.

# echo 3 > /proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'

OR

$ su -c "echo 3 >'/proc/sys/vm/drop_caches' && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'" root

Eftir að hafa prófað báðar ofangreindar skipanir munum við keyra skipunina \free -h fyrir og eftir keyrslu skriftunnar og athuga skyndiminni.

Það er allt í bili, ef þér líkaði við greinina, ekki gleyma að gefa okkur dýrmæt endurgjöf í athugasemdunum til að láta okkur vita, hvað þér finnst vera góð hugmynd til að hreinsa hrútsskyndiminni og biðminni í framleiðslu og Enterprise?