centos 内存占用不符合实际情况

自己使用了好几台2核4G,总是出现内存总是被占用的很满,因为我只是启动一个tomcat,然后几个机器人人,所以每次使用内存的时候都小心翼翼的。因为java一旦内存不够就启动不了tomcat,或者直接进程挂掉

 

输入top,按shift+m,按内存占用百分比排序,发现应用也没占多少内存,那是什么占用的呢?
其实是CentOS为了提高效率,把部分使用过的文件缓存到了内存里。这样的话如果不需要这样的文件性能,可以直接释放来缓解内存压力。
sync命令用于强制被改变的内容立刻写入磁盘,更新超块信息。
在Linux/Unix系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率。sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。用户通常不需执行sync命令,系统会自动执行update或bdflush操作,将缓冲区的数据写 入磁盘。只有在update或bdflush无法执行或用户需要非正常关机时,才需手动执行sync命令。
sync
echo 3 > /proc/sys/vm/drop_caches
我感觉sync没有什么用,就是同步缓存到文件,如果内存缓存很大,运行第二个命令,说明来不急刷新到磁盘就被清理掉了

发表评论

电子邮件地址不会被公开。 必填项已用*标注