Kif Tnaddaf RAM Memory Cache, Buffer, u Skambju fuq Linux


Bħal kull sistema operattiva oħra, GNU/Linux implimenta l-ġestjoni tal-memorja b'mod effiċjenti u saħansitra aktar minn hekk. Imma jekk xi proċess qed jiekol il-memorja tiegħek u trid tnaddafha, Linux jipprovdi mod biex titlaħlaħ jew tneħħi l-cache tal-muntun.

  • Sib l-aqwa 15-il Proċess skont l-Użu tal-Memorja fil-Linux
  • Sib l-Ogħla Proċessi li Jħaddmu bl-Ogħla Memorja u Użu tas-CPU fil-Linux
  • Kif tillimita l-Użu tal-Ħin u l-Memorja tal-Proċessi fil-Linux

Kull Sistema Linux għandha tliet għażliet biex tneħħi l-cache mingħajr ma tinterrompi l-ebda proċess jew servizz.

1. Clear PageCache biss.

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

2. Dentries ċari u inodes.

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

3. Pagecache ċara, dentries, u inodes.

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

Spjegazzjoni tal-kmand t'hawn fuq.

sync se tlaħlaħ il-buffer tas-sistema tal-fajls. Kmand Separat minn \;” jimxi b'mod sekwenzjali. Il-qoxra tistenna li kull kmand jintemm qabel ma tesegwixxi l-kmand li jmiss fis-sekwenza. Kif imsemmi fid-dokumentazzjoni tal-kernel, il-kitba f'drop_cache se tnaddaf il-cache mingħajr ma toqtol l-ebda kmand. applikazzjoni/servizz, kmand echo qed tagħmel ix-xogħol tal-kitba għall-fajl.

Jekk trid tneħħi l-cache tad-diska, l-ewwel kmand huwa l-aktar sikur fl-intrapriża u l-produzzjoni bħala \...echo 1 > ….” se jneħħi l-PageCache biss. Mhux rakkomandat li tuża l- it-tielet għażla hawn fuq \...echo 3 >” fil-produzzjoni sakemm tkun taf x'qed tagħmel, peress li se tneħħi pagecache, dentries, u inodes.

Meta tkun qed tapplika diversi settings u trid tiċċekkja, jekk fil-fatt huwiex implimentat b'mod speċjali fuq il-benchmark estensiv I/O, allura jista 'jkollok bżonn tnaddaf il-cache tal-buffer. Tista' twaqqa' l-cache kif spjegat hawn fuq mingħajr ma terġa 'tibda s-Sistema, jiġifieri, l-ebda ħin ta' waqfien meħtieġ.

Linux huwa ddisinjat b'tali mod li jħares fil-cache tad-diska qabel ma jħares lejn id-diska. Jekk issib ir-riżors fil-cache, allura t-talba ma tasalx id-diska. Jekk inaddfu l-cache, il-cache tad-diska tkun inqas utli peress li l-OS se tfittex ir-riżorsa fuq id-diska.

Barra minn hekk, se jnaqqas ukoll is-sistema għal ftit sekondi filwaqt li l-cache titnaddaf u kull riżorsa meħtieġa mill-OS terġa’ titgħabba fil-cache tad-diska.

Issa se nkunu qed noħolqu script shell biex inaddaf awtomatikament il-cache tar-RAM kuljum fis-2 am permezz ta’ kompitu ta’ cron scheduler. Oħloq script shell clearcache.sh u żid il-linji li ġejjin.

#!/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"

Issettja l-permess ta 'eżekuzzjoni fuq il-fajl clearcache.sh.

# chmod 755 clearcache.sh

Issa tista' ċċempel l-iskrittura kull meta tkun meħtieġ li tnaddaf il-cache tal-muntun.

Issa waqqaf cron biex tnaddaf il-cache RAM kuljum fis-2 am. Iftaħ il-crontab għall-editjar.

# crontab -e

Ehmeż il-linja ta' hawn taħt, issalva u oħroġ biex tħaddem fis-2 am kuljum.

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

Għal aktar dettalji dwar kif cron impjieg, tista' tixtieq tiċċekkja l-artiklu tagħna dwar 11 Cron Scheduling Jobs.

Le! mhuwiex. Aħseb f'sitwazzjoni meta tkun ippjanat li l-iskript jitneħħa ram cache kuljum fis-2 am. Kull jum fis-2 am l-iskript jiġi esegwit u jiflaħ il-cache RAM tiegħek. Jum wieħed għal kwalunkwe raġuni jista 'jkun aktar milli mistenni utenti huma online fuq il-websajt tiegħek u jfittxu riżorsi mis-server tiegħek.

Fl-istess ħin, l-iskrittura skedata taħdem u tikklerja kollox fil-cache. Issa l-utenti kollha qed iġibu data mid-diska. Jirriżulta f'ħabta tas-server u jikkorrompi d-database. Allura ċar ram-cache biss meta meħtieġ, u magħrufa l-passi tiegħek, inkella inti Amministratur tas-Sistema tal-Kult tal-Merkanzija.

Jekk trid tnaddaf l-ispazju Swap, tista 'tixtieq tmexxi l-kmand ta' hawn taħt.

# swapoff -a && swapon -a

Ukoll, tista 'żżid il-kmand ta' hawn fuq ma 'skript cron hawn fuq, wara li tifhem ir-riskji assoċjati kollha.

Issa se nkunu qed nikkombinaw iż-żewġ kmandi ta 'hawn fuq f'kmand wieħed biex nagħmlu skript xieraq biex ineħħu RAM Cache u Spazju Swap.

# 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

Wara li nittestjaw iż-żewġ kmandi ta 'hawn fuq, aħna se nħaddmu l-kmand \free -h qabel u wara li nħaddmu l-iskript u niċċekkjaw il-cache.

Dak kollu għalissa, jekk għoġbok l-artiklu, tinsiex tagħtina r-rispons siewi tiegħek fil-kummenti biex tgħarrafna, dak li taħseb li hija idea tajba biex tnaddaf il-cache tal-muntun u l-buffer fil-produzzjoni u l-Intrapriża?