Linux kernel 在版本 2.6.16 之後增加了 Drop Caches (Drop Caches)的機制,在這之後的 kernel 版本能夠簡單地清出多餘的記憶體空間。只要利用簡單的指令以數字讀寫 /proc/sys/vm/drop_cache,或使用 sysctl 指令就可以達成釋放的目的。
即時查看目前使用記憶體的情形:
不同的數值代表的意義:
可以使用下面方式指令來釋放記憶體:
即時查看目前使用記憶體的情形:
# watch -n 1 free -m
不同的數值代表的意義:
- 1:釋放 pagecache,捨棄一般沒使用的 cache
- 2:釋放 dentries 和 inodes 所佔用的 cache memory
- 3:等同於1+2的效果,釋放 pagecache、dentries 和 inodes
可以使用下面方式指令來釋放記憶體:
Command 1
# sysctl -w vm.drop_caches=3
Command 2
# sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
註:釋放前必須要先執行 sync 見資料寫入硬碟,避免錯誤發生
留言