如何手动释放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,可见效果立竿见影。

时间: 2024-10-05 20:31:25

如何手动释放linux内存?的相关文章

手动释放linux内存cache

转载于:http://linux.cn/article-211-1.html 总有很多朋友对于Linux的内存管理有疑问,之前一篇linux下的内存管理方式似乎也没能清除大家的疑虑. 而在新版核心中,似乎对这个问题提供了新的解决方法,特转出来给大家参考一下.最后,还附上我对 这方法的意见,欢迎各位一同讨论. 当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放, 而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法. 那么我

手动释放linux内存和缓存

/proc/sys/vm/drop_caches (since Linux 2.6.16)Writing to this file causes the kernel to drop clean caches,dentries and inodes from memory, causing that memory to becomefree.To free pagecache, use echo 1 > /proc/sys/vm/drop_caches; tofree dentries and

[转]手工释放linux内存——/proc/sys/vm/drop_caches

另一篇:http://www.linuxfly.org/post/320/ ? 1.清理前内存使用情况?free -m 2.开始清理??echo 1 > /proc/sys/vm/drop_caches 3.清理后内存使用情况?free -m 4.完成! 查看内存条数命令: dmidecode?|?grep?-A16?"Memory?Device$" ? ? ? ? ? +++++++++++++++++++++++++++++++++++++++++++++++++++++++

手工释放linux内存——/proc/sys/vm/drop_caches

--手工释放linux内存--/proc/sys/vm/drop_caches 总有很多朋友对于Linux的内存管理有疑问,之前一篇日志似乎也没能清除大家的疑虑.而在新版核心中,似乎对这个问题提供了新的解决方法,特转出来给大家参考一下.最后,还附上我对这方法的意见,欢迎各位一同讨论.    当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法.那么我来谈谈这个问题. 一.

手动释放linux的缓存

To free pagecache: echo 1 > /proc/sys/vm/drop_caches;to free dentries and inodes: echo 2 > /proc/sys/vm/drop_caches;to free pagecache, dentries and inodes: echo 3 >/proc/sys/vm/drop_caches. 手动释放linux的缓存

手工释放linux内存

当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法.那么我来谈谈这个问题.一.通常情况先来说说free命令:引用[[email protected] ~]# free -m         total used free shared buffers cachedMem: 249 163     86      0        10           94-/+ b

手动释放linux缓存

步骤 检查缓存 Free  -m 释放缓存 Cat /proc/sys/vm/drop-cahes 0 首先,/proc/sys/vm/drop_caches的值,默认为0 引用 Sync 手动执行sync命令(描述:sync 命令运行 sync 子例程.如果必须停止系统,则运行sync 命令以确保文件系统的完整性.sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node.已延迟的块 I/O 和读写映射文件) 引用 [[email protected] test]# echo

Objective-C:MRC手动释放对象内存举例(引用计数器)

手机内存下的类的设计练习: 设计Book类, 1.三个成员变量: title(书名)author(作者).price(价格) 2.不使用@property,自己完成存取方法(set方法,get方法) 3.加入必要其他的方法 4.并对Book类进行测试 .h声明文件 1 // Book.h 2 // 引用计数器 3 // 4 // Created by ma c on 15/8/13. 5 // Copyright (c) 2015年 bjsxt. All rights reserved. 6 /

手动清理linux缓存,释放内存

free -m 这个命令大家应该很熟悉 系统真正用的内存我们需要看第二行,因为有一部分缓存还没有被释放 linux内存可使用的计算方法:可用内存=free+buffers+cached 手动释放linux缓存: free -m sync (一定要在第三部之前) echo 3>/proc/sys/vm/drop_caches fee -m echo 0>/proc/sys/vm/drop_caches