Linux清除buff/cache

  1. 清除 buff/cache
清理pagecache(頁面緩存)
sync;echo 1 > /proc/sys/vm/drop_caches     或者 # sync;sysctl -w vm.drop_caches=1
清理dentries(目錄緩存)和inodes
sync;echo 2 > /proc/sys/vm/drop_caches     或者 # sync;sysctl -w vm.drop_caches=2
清理pagecache、dentries和inodes
sync;echo 3 > /proc/sys/vm/drop_caches     或者 # sync;sysctl -w vm.drop_caches=3

上面三種方式都是臨時釋放緩存的方法,要想永久釋放緩存
需要在/etc/sysctl.conf文件中配置:vm.drop_caches=1/2/3,然後sysctl -p生效即可!

可以添加下列參數至 /etc/sysctl.conf 文件調整內核參數
vm.swappiness = 0
vm.dirty_ratio = 100 #如果進程產生的髒數據到達系統整體內存的百分比,此時進程自行把髒數據寫回磁盤。缺省設置:40 
vm.dirty_background_ratio = 40 #髒數據到達系統整體內存的百分比,此時觸發 pdflush 進程把髒數據寫回磁盤。缺省設置:10 
vm.dirty_expire_centisecs = 3000 #如果髒數據在內存中駐留時間超過該值,pdflush 進程在下一次將把這些數據寫回磁盤。缺省設置:3000
vm.vfs_cache_pressure = 200 #設置清理inoe/dentry緩存時的優先級
vm.min_free_kbytes = <物理內存大小的8%,單位KB。最大不超過1GB。> #強制 Linux VM 最低保留多少空閒內存(Kbytes)。缺省設置:724(512M 物理內存) 
vm.overcommit_memory = 2 #指定了內核針對內存分配的策略,其值可以是 0、1、2。缺省設置:0 
#0,表示內核將檢查是否有足夠的可用內存供應用進程使用; 如果有足夠的可用內存, 內存申請允許; 否則, 內存申請失敗,並把錯誤返回給應用進程。
#1,表示內核允許分配所有的物理內存,而不管當前的內存狀態如何。 
#2,表示內核允許分配超過所有物理內存和交換空間總和的內存(參照 overcommit_ratio)。 
vm.overcommit_ratio = 85 #如果 overcommit_memory=2,可以過載內存的百分比,通過以下公式來計算系統整體可 用內存。 系統可分配內存=交換空間+物理內存*overcommit_ratio/100 缺省設置:50(%) 

參考:https://cloud.tencent.com/developer/article/1026721

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章