讨论:内存是否泄露如何认定?

大家在实际工作中,什么情况下会怀疑内存有泄露,如何判断和定位?

参与24

5同行回答

jasjas系统分析师storage
free查看时间可用内存是否减少,ps aux查看某个进程使用内存是否在持续增加显示全部

free查看时间可用内存是否减少,ps aux查看某个进程使用内存是否在持续增加

收起
软件开发 · 2017-03-09
浏览3141
yangjianxvyangjianxv部门总经理成方金融科技有限公司
内存泄露指进程自己申请分配、使用了内存但没有在使用完毕后释放,大量的泄露会导致物理内存用满,降低系统效率。如何判断一个进程有没有内存泄露?1)看进程的数据段AIX中使用ps gv命令观察特定进程的SIZE指标,如果SIZE经过长时间测试后,不断增长,则可能有内存泄露的嫌疑,这里说的...显示全部

内存泄露指进程自己申请分配、使用了内存但没有在使用完毕后释放,大量的泄露会导致物理内存用满,降低系统效率。

如何判断一个进程有没有内存泄露?

1)看进程的数据段

AIX中使用ps gv命令观察特定进程的SIZE指标,如果SIZE经过长时间测试后,不断增长,则可能有内存泄露的嫌疑,这里说的是嫌疑,而不是一定。况且,查看进程的SIZE值也只能查看这个进程使用的一部分内存,而这个进程使用的Shared Memory Segment则不在这个指标中。如果是JAVA程序由于涉及到JVM的内存管理,问题就更难判断的,我们先放下JAVA程序不表,单说C的程序。

ps gv命令中SIZE就是该进程数据段的virtual size(1KB为单位),这些分页可能在物理内存中也可能在Paging Space中。检查SIZE列在长期的测试过程中是否有明显的持续增长,如有,说明可能有内存泄露。长期的抓取和后期的图形化处理,可以写脚本或代码来实现。

其他命令也可以看到这个值,“svmon –P 进程号”可以看work process private的virtual大小+work shared library data的virtual大小。如果有text data BSS heap、USLA heap、application stack、private load data等segment,还需把这些segment也加上。由于svmon中统计的segment较多,因此不推荐采用svmon统计Data Segment。

2)进程的共享内存段

由于内存泄露问题非常复杂,可以参考我的文章:

性能指标之资源指标 如何判断是否有内存泄漏及关注的指标

性能指标之资源指标-内存-结合案例介绍JVM内存管理机制

收起
银行 · 2017-03-10
浏览3270
overtopovertop系统工程师互联网公司
会怀疑内存有泄露的情况:内存使用量不断增高,nmon监控free不断减少,最终可能导致机器hang死。判断和定位:判断方法大体基本如上,具体方法使用SVMON监控,主要查看work process private行inuse列等,如果占用内存持续增长,一直不释放,即内存泄漏。...显示全部

会怀疑内存有泄露的情况:内存使用量不断增高,nmon监控free不断减少,最终可能导致机器hang死。

判断和定位:判断方法大体基本如上,具体方法使用SVMON监控,主要查看work process private行inuse列等,如果占用内存持续增长,一直不释放,即内存泄漏。

收起
互联网服务 · 2017-03-10
浏览3033
  • 其实也是初步判断,还有一些专业工具或脚本来辅助判断
    2017-03-10
wangqlwangql系统工程师NULL
个人感觉内存泄漏是一个相对持续的过程,可能当下直接使用命令不太容量看出来,需要一个量的积累。我一般都是用nmon来抓取一段时间的数据,来分析,看内存段是否是一直增长的趋势。显示全部

个人感觉内存泄漏是一个相对持续的过程,可能当下直接使用命令不太容量看出来,需要一个量的积累。

我一般都是用nmon来抓取一段时间的数据,来分析,看内存段是否是一直增长的趋势。

收起
IT咨询服务 · 2017-03-10
浏览3019
吴永胜吴永胜系统工程师国有银行
可以编写一个脚本 :固定间隔时间保存各进程内存使用情况(ps vgw).计算差值并排序。 对于内存使用量不断增长的进程 基本可以怀疑有内存泄露。显示全部

可以编写一个脚本 :固定间隔时间保存各进程内存使用情况(ps vgw).计算差值并排序。 对于内存使用量不断增长的进程 基本可以怀疑有内存泄露。

收起
银行 · 2017-03-10
浏览3039

提问者

yangjianxv
部门总经理成方金融科技有限公司
擅长领域: 服务器中间件数据库

问题来自

相关问题

相关文章

问题状态

  • 发布时间:2017-03-09
  • 关注会员:5 人
  • 问题浏览:9593
  • 最近回答:2017-03-10
  • X社区推广