如何手动释放linux内存?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何手动释放linux内存?相关的知识,希望对你有一定的参考价值。

在生产过程中,一些java模块会比较残忍的吃系统内存,然后如果这个模块写的比较挫,产生的垃圾就会比较多,如果linux系统的内存释放也不会及时,然后恶性循环,最后就把进程卡死,但是服务器是不可以down机的,所以这个时候就需要我们运维出来,手动的释放内存。


首先,我们登陆一台服务器,#free -m看一下目前的情况:

技术分享


然后#cat /proc/sys/vm/drop_caches,会看到里面的值是0,0是不释放的意思。


#sync,将系统缓存区中的脏数据写入磁盘中,包括已修改的i-node、已延迟的块I/O和读写映射文件。


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


#sysctl -p,这样不用重启服务器也可以生效。出现下面的一连串文字之后,再#free -m看一下:

技术分享


从112释放到2790,可见效果立竿见影。

本文出自 “生活就是等待戈多” 博客,请务必保留此出处http://chenx1242.blog.51cto.com/10430133/1885022

以上是关于如何手动释放linux内存?的主要内容,如果未能解决你的问题,请参考以下文章

如何手动释放linux内存?

linux中手动释放缓存的方法

Linux内存机制以及手动释放swap和buffer和cache

Linux内存机制以及手动释放swap和buffer和cache

Linux内存机制以及手动释放swap和内存

Linux内存机制以及手动释放swap和内存