内存泄露--一次悲催的经历

来源:互联网 发布:sql select 多个字段 编辑:程序博客网 时间:2024/04/30 08:39

前段时间,顾客抱怨我们的产品有很严重的内存泄露,在一个月的时间内内存可以到达7G以上,导致系统无法使用,经过一段时间的努力,修复了其中的几个重要问题,于是直接给客户使用,可以没想到客户使用后还是发现有内存泄露。

所以这几天还在忙于修复客户的内存泄露问题,这个问题特别蹊跷,在我们这里无法重现,只能出现在客户的机器上,这下可让我一下没辙了,什么内存检测工具统统不管用,因为我们根本无法重现出这一泄露,悲催啊。。

迫于老板的压力,只能这个方法试试,那个方法试试,到头来可想而知是一无所获,说实话,这让我觉得有点挫败感,因为我号称解决过很多的内存泄露问题,可是对于这个问题我却无计可施,毫无办法。

终于,后来一个同事用Google PerfTool 在客户的机器上抓到了内存泄露的点,仔细一分析,发现是因为我们之前修复的内存泄露有一部分没有放到客户的这个build里面去,哎,我都不知道说什么了,喜忧参半,喜的是终于找到了问题,我也不感到这么挫败了,悲的是为什么这种愚蠢的错误会发生,害的我们浪费了好几天的时间,以及我的精神上受到的打击,委屈

 

最后,想总结以下几点:

  1. 如果有些问题在客户那边可以出现,但是在我们这里无法重现的,一定先花点时间保证客户build的代码是否跟我们调试问题使用的代码是否一致,要不然可能结果就是花了很多时间,但是没有任何结果。
  2. 要理性分析问题,不要把时间浪费在无谓的尝试上。
  3. 关键时候要借助一些工具,就比如这里的Google perfTool,如果没使用这个工具,我们不知道还要折腾到什么时候。
原创粉丝点击