2013-10-02 114 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'只是为了最大限度地增加通过这个操作刷出缓存的对象的数量。如果不这样做,则不存在数据丢失/损坏的风险。 –