unix机器上的缓存内存不断增长

时间:2014-07-13 16:12:53

标签: unix ubuntu memory

在我的Ubuntu 12 vps上,我正在运行一个完整的比特币节点。当我第一次启动它时,它使用大约700mb的内存。如果我24小时后回来(free -m)会看起来像这样:

  total used free shared buffers cached

  4002  3881 120    0      32     2635

- / + buffers / cache:1214 2787

交换:255 0 255

但是如果我使用

清除“缓存”

echo 3>的/ proc / SYS / VM / drop_caches

然后再次释放-m:

 total used free shared buffers cached

 4002  1260 2742   0      1      88

- / + buffers / cache:1170 2831

交换:255 0 255

可以看到缓存的列清除,并且我的内存比以前更多。

我有一些问题:

这个缓存的号码是什么?     我猜是它的文件是否被缓存以便更快地访问磁盘?

可以让它成长并使用我所有的空闲记忆吗?

其他需要内存的进程是否能够驱逐缓存内存?

如果没有,我应该使用之前显示的echo3命令定期清除吗?

1 个答案:

答案 0 :(得分:1)

Linux尝试更有效地利用系统资源。 Linux缓存数据以减少数量。 io操作,从而加速系统。有关数据的元数据存储在缓冲区中,实际数据将存储在缓存中。

当您清除缓存时,使用缓存的进程将丢失数据,因此您必须运行     sync  在清除缓存之前,系统会将数据复制到辅助存储,从而减少错误。