為了加速操作和減少磁盤(pán)I/O,內(nèi)核通常會(huì)盡可能多地緩存內(nèi)存,這部分內(nèi)存就是Cache Memory(緩存內(nèi)存)。根據(jù)設(shè)計(jì),包含緩存數(shù)據(jù)的頁(yè)面可以按需重新用于其他用途(例如,應(yīng)用程序)。
緩存內(nèi)存在程序運(yùn)行結(jié)束后不會(huì)自動(dòng)釋放。這可能會(huì)導(dǎo)致程序頻繁讀寫(xiě)文件后可用物理內(nèi)存變得很少,必要時(shí)(比如內(nèi)存確實(shí)不夠用),需要主動(dòng)釋放緩存內(nèi)存。
注意:一般情況下,是不推薦主動(dòng)釋放緩存內(nèi)存的,除非你有非常明確的需求,比如測(cè)試程序緩存內(nèi)存的使用情況,因?yàn)閷?duì)同一應(yīng)用程序來(lái)說(shuō),緩存內(nèi)存是可用的。
釋放緩存內(nèi)容
可以通過(guò)修改系統(tǒng)控制文件/proc/sys/vm/drop_caches釋放緩存內(nèi)存。
1、釋放pagecache(頁(yè)面緩存)
echo 1 > /proc/sys/vm/drop_caches
2、釋放reclaimable slab objects (includes dentries and inodes)(可回收slab對(duì)象(包括dentry,inode))
echo 2 > /proc/sys/vm/drop_caches
3、釋放slab對(duì)象和pagecache
echo 3 > /proc/sys/vm/drop_caches
這是一種非破壞性操作(non-destructive operation),不會(huì)釋放任何臟對(duì)象。如果要增加此操作釋放的對(duì)象數(shù)量,可以在寫(xiě)入/proc/sys/vm/drop_cache之前運(yùn)行sync。這將最大限度地減少系統(tǒng)上臟對(duì)象的數(shù)量,并創(chuàng)建更多待刪除的候選對(duì)象。
需要注意的是/proc/sys/vm/drop_caches不是用于控制,各種內(nèi)核緩存(inodes,dentries,pagecache等等)增長(zhǎng)的方法。當(dāng)系統(tǒng)其它地方需要內(nèi)存時(shí),Linux內(nèi)核會(huì)自動(dòng)回收這些對(duì)象。
使用該文件可能引發(fā)性能問(wèn)題。因?yàn)樗鼤?huì)刪除緩存對(duì)象,可能需要消耗大量的I/O和CPU才能重新創(chuàng)建被刪除的對(duì)象,尤其是這些對(duì)象被大量使用的情況下。因此,不建議在測(cè)試或調(diào)試環(huán)境之外使用。
實(shí)踐測(cè)試
# free -m
total used free shared buff/cache available
Mem: 7794 2373 1478 431 3942 4691
Swap: 3967 0 3967
# echo 1 > /proc/sys/vm/drop_caches
# free -m
total used free shared buff/cache available
Mem: 7794 2373 2600 431 2821 4705
Swap: 3967 0 3967
# echo 2 > /proc/sys/vm/drop_caches
# free -m
total used free shared buff/cache available
Mem: 7794 1635 5527 431 631 5495
Swap: 3967 0 3967
# echo 3 > /proc/sys/vm/drop_caches
# free -m
total used free shared buff/cache available
Mem: 7794 1635 5529 431 630 5496
Swap: 3967 0 3967
鏈接:https://www.cnblogs.com/shouke/p/16156335.html
-
Linux
+關(guān)注
關(guān)注
88文章
11758瀏覽量
219009 -
服務(wù)器
+關(guān)注
關(guān)注
14文章
10251瀏覽量
91480 -
內(nèi)存
+關(guān)注
關(guān)注
9文章
3209瀏覽量
76358
原文標(biāo)題:Linux服務(wù)器卡頓救星:一招釋放Cache內(nèi)存,性能提升30%!
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
linux服務(wù)器和windows服務(wù)器
linux的內(nèi)存釋放操作
回收服務(wù)器內(nèi)存條 收購(gòu)服務(wù)器內(nèi)存條
高價(jià)收購(gòu)服務(wù)器內(nèi)存條,服務(wù)器內(nèi)存條優(yōu)勢(shì)回收
你知道linux的cache memory?
Page Cache是什么 一文帶你深入理解Linux的Page Cache
分享一些Linux服務(wù)器的安全小貼士
如何使用Checkmk監(jiān)控Linux服務(wù)器?
服務(wù)器遠(yuǎn)程桌面卡頓的原因及解決方案
Linux服務(wù)器卡頓救星之一招釋放Cache內(nèi)存
評(píng)論