在我的Ubuntu 12VP上,我运行的是一个完整的比特币节点。当我第一次启动它时,它使用了大约700mb的内存。如果我24小时后回来(免费的-m)会是这样的:
total used free shared buffers cached
4002 3881 120 0 32 2635-/+缓冲区/缓存: 1214 2787
交换: 255 0 255
但是如果我使用以下命令清除"cached“
echo 3>/proc/sys/vm/drop_cache
然后再次执行免费的-m:
total used free shared buffers cached
4002 1260 2742 0 1 88-/+缓冲区/缓存: 1170 2831
交换: 255 0 255
我可以看到缓存的列被清除,并且我有比以前看起来更多的空闲内存。
我有几个问题:
这个缓存的数字是什么?我的猜测是,文件被缓存是为了更快地访问磁盘?
可以让它增长并使用我所有的空闲内存吗?
其他需要内存的进程是否能够逐出缓存的内存?
如果不是,我是否应该常规地使用前面显示的echo3命令清除它?
发布于 2016-09-21 20:25:54
Linux试图更有效地利用系统资源。Linux对数据进行缓存,减少了数据量。从而加快了系统的速度。关于数据的元数据存储在缓冲区中,而实际数据将存储在缓存中。
当您清除高速缓存时,使用高速缓存的进程将丢失数据,因此您必须在清除高速缓存之前运行sync,以便系统将数据复制到辅助存储,从而减少错误。
https://stackoverflow.com/questions/24724668
复制相似问题