缓存在RHEL中占用的内存

时间:2014-03-18 11:45:20

标签: linux linux-kernel

我在RHEL环境中运行我的应用服务器(Karaf,Tomcat,Mongo和Zookeeper各一个实例),经常看到(使用free -m)我的总12GB RAM几乎8GM显示为缓存。该应用程序也放慢了速度。为什么会这样呢?我甚至试图优雅地停止所有这些服务,直到我只在我的盒子上运行Linux操作系统。即使这样,缓存也不会被释放。我必须手动释放它才能将其关闭。

为什么缓存会像这样累积,是否与我的应用程序有关?像这样运行chron作业只是为了释放缓存是一个好习惯吗?

2 个答案:

答案 0 :(得分:0)

如果你在谈论"缓存"从这里的最后一栏:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          3954       3580        374          0          1       1448

然后没有理由清除它。此缓存绝对无害,它保留(缓存)例如先前打开的文件以便更快地访问。当需要更多内存时,将自动清除此缓存。没有理由说这个缓存会降低任何应用程序的速度。

更新:某些应用程序将临时文件存储在内存中,/ dev / shm通常用于此目的,但您可以使用以下命令检查系统:

$ mount|grep tmpfs

这些文件也显示在缓存列中,但​​是当需要更多可用内存时,这些数据无法被删除。

答案 1 :(得分:0)

尝试清除缓存。

#sync; echo 3 > /proc/sys/vm/drop_caches