星期五, 4月 13, 2012

[轉貼]linux 清理緩存


linux 清理緩存


通過修改proc系統的drop_caches清理freecache
$echo 3 > /proc/sys/vm/drop_caches

drop_caches的詳細文檔如下:
Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free.
To free pagecache:
* echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:
* echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:
* echo 3 > /proc/sys/vm/drop_caches
As this is a non-destructive operation, and dirty objects are notfreeable, the user should run "sync" first in order to make sure allcached objects are freed.
This tunable was added in 2.6.16.

修改/etc/sysctl.conf 添加如下選項後就不會記憶體持續增加
vm.dirty_ratio = 1
vm.dirty_background_ratio=1
vm.dirty_writeback_centisecs=2
vm.dirty_expire_centisecs=3
vm.drop_caches=3
vm.swappiness =100
vm.vfs_cache_pressure=163
vm.overcommit_memory=2
vm.lowmem_reserve_ratio=32 32 8
kern.maxvnodes=3

上面的設置比較粗暴,使cache的作用基本無法發揮。需要根據機器的狀況進行適當的調節尋找最佳的折衷。

/proc/sys/vm/dirty_ratio

這個參數控制檔系統的檔系統寫緩衝區的大小,單位是百分比,表示系統記憶體的百分比,表示當寫緩衝使用到系統記憶體多少的時候,開始向磁片寫出資料。增大之會使用更多系統記憶體用於磁片寫緩衝,也可以極大提高系統的寫性能。但是,當你需要持續、恒定的寫入場合時,應該降低其數值,一般啟動上缺省是 10。設1加速程式速度

/proc/sys/vm/dirty_background_ratio

這個參數控制檔系統的pdflush進程,在何時刷新磁片。單位是百分比,表示系統記憶體的百分比,意思是當寫緩衝使用到系統記憶體多少的時候,pdflush開始向磁片寫出資料。增大之會使用更多系統記憶體用於磁片寫緩衝,也可以極大提高系統的寫性能。但是,當你需要持續、恒定的寫入場合時,應該降低其數值,一般啟動上缺省是 5

/proc/sys/vm/dirty_writeback_centisecs

這個參數控制內核的髒資料刷新進程pdflush的運行間隔。單位是 1/100 秒。缺省數值是500,也就是 5 秒。如果你的系統是持續地寫入動作,那麼實際上還是降低這個數值比較好,這樣可以把尖峰的寫操作削平成多次寫操

/proc/sys/vm/dirty_expire_centisecs

這個參數聲明Linux內核寫緩衝區裏面的資料多“舊”了之後,pdflush進程就開始考慮寫到磁片中去。單位是 1/100秒。缺省是 30000,也就是 30 秒的資料就算舊了,將會刷新磁片。對於特別重載的寫操作來說,這個值適當縮小也是好的,但也不能縮小太多,因為縮小太多也會導致IO提高太快。建議設置為 1500,也就是15秒算舊。
/proc/sys/vm/drop_caches
釋放已經使用的cache
/proc/sys/vm/page-cluster
該檔表示在寫一次到swap區的時候寫入的頁面數量,0表示1頁,1表示2頁,2表示4頁。
/proc/sys/vm/swapiness
該檔表示系統進行交換行為的程度,數值(0-100)越高,越可能發生磁片交換。
/proc/sys/vm/vfs_cache_pressure
該檔表示內核回收用於directoryinode cache記憶體的傾向



/etc/sysctl.conf
vm.dirty_ratio = 1
vm.dirty_background_ratio=1
vm.dirty_writeback_centisecs=1
vm.dirty_expire_centisecs=3
vm.drop_caches=3
vm.swapiness=100
vm.vfs_cache_pressure=133

vm.dirty_ratio = 5    #dft 20  %
vm.dirty_background_ratio =5 #dft 10 %
vm.dirty_writeback_centisecs=100 #dft 500 is 5s
vm.dirty_expire_centisecs=300    #dft 30000 is 30s
vm.drop_caches=3  #dft  0
vm.swappiness=100  #dft 60
vm.vfs_cache_pressure=133  #dft 100

vm.min_free_kbytes=204800

#200M mem

save simplesysctl-wnet.ipv4.route.flush=1

沒有留言:

LinkWithin-相關文件

Related Posts Plugin for WordPress, Blogger...