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?