2013-10-02 156 views
4

如何清除緩存在Linux中,我top命令這樣表示,Linux的清除緩存

Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 
Mem: 10036256k total, 7364896k used, 2671360k free, 2616k buffers 
Swap: 8191992k total, 82752k used, 8109240k free, 104244k cached 

和我free -m看起來像這樣,

   total  used  free  shared buffers  cached 
Mem:   9801  7192  2608   0   2  101 
-/+ buffers/cache:  7088  2712 
Swap:   7999   80  7919 

我試着用drop_cache命令,但是還是我的內存利用率很高。

如何清除此問題?

謝謝。

+0

有一些東西被算作緩存並且不能被丟棄。我正在考慮'tmpfs'或'ramfs'文件系統。 – rodrigo

+0

或內存映射的可執行文件庫... – rodrigo

+1

你爲什麼要這麼做? –

回答

4

看一看here。你需要以root身份運行此命令:

echo 3 > /proc/sys/vm/drop_caches 
+0

我試過但仍未清除... –

9

你只需要「同步」添加到Nikhil的答案,因此以root身份執行:

sync && echo 3 > /proc/sys/vm/drop_caches

+1

+1。這裏使用'sync'只是爲了最大限度地增加通過這個操作刷出緩存的對象的數量。如果不這樣做,則不存在數據丟失/損壞的風險。 –