Centos系统运行长时间后,经常会遇到内存占用率高的问题,特别是我们大数据平台的管理节点:
[root@node1 ~]# free -m
[root@node1 ~]# top
再输入shift+M按照内存排序:可以查看到各个服务的内存占用率,但是将其加起来并没有真正的占用满,说明内存被其他的给占用了。
当你读写文件的时候,Linux内核为了提高读写性能与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存会很少。
其实这缓存内存(Cache Memory)在你需要使用内存的时候会自动释放,所以你不必担心没有内存可用。如果你希望手动去释放Cache Memory也是有办法的。
释放内存方式:
[root@node1 ~]# sync
[root@node1 ~]# echo 3 > /proc/sys/vm/drop_caches
释放内存后,各个服务的内存占用并没有变,和之前一致;
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作