我在批量生成service order时,report运行几个小时后,遇到out of memory exception:


SM04里发现我的report随着时间的推移,消耗的内存越来越多:



如何找到出现memory leak的代码的准确位置?
我的report里有个package size,类似于OPEN CURSOR和FETCH的design,比如package size是1000,那么每1000个service order创建成功后,清一次buffer,然后创建第二批1000个order,再清第二次buffer.
所以我只需要在两次清buffer之后分别创建一个memory snapshot:

创建好之后tcode S_MEMORY_INSPECTOR, 比较两个snapshot里的delta部分,即为引起memory leak的变量。这个transaction列出了变量所在的program name,剩下的事情就是去找能清除这些变量对应的API.

修改完之后成效显著,修改之前一个user session跑一个小时内存consumtpion就超过了7GB,现在跑了一下午,每个session不超过2GB了。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

利用S_MEMORY_INSPECTOR分析内存泄漏问题相关推荐

  1. [转] 利用jemalloc分析内存泄漏

    from: https://blog.intzero.net/tools/jemalloc.html Jemalloc 不仅实现了一种通用的malloc, 还能利用它来做内存分析和监控/调优等. 这里 ...

  2. 利用jemalloc分析内存泄漏以及LD_PRELOAD

    <Linux环境下的LD_PRELOAD:库预加载> GitHub代码:https://github.com/Rtoax/test/tree/master/jemalloc 目录 Inst ...

  3. 利用MAT进行内存泄漏分析

    ##前言 对于程序员来说码代码容易,保证代码的稳定性很难.有时候写完一个功能可能只需要一天时间,但是这个功能隐藏的bug导致的线上问题排查可能需要一周或者更长时间.因此,拥有良好的代码结构和编码规范是 ...

  4. 使用Memory Analyzer tool(MAT)分析内存泄漏(一)

    使用Memory Analyzer tool(MAT)分析内存泄漏(一) (2010年05月21日) 发表于 Java博客 前言的前言 :本文是自 2005 年 8 月以来,首次在一个月之内发布三篇文 ...

  5. 使用Memory Analyzer tool(MAT)分析内存泄漏

    http://www.blogjava.net/rosen/archive/2010/05/21/321575.html http://www.blogjava.net/rosen/archive/2 ...

  6. 使用Memory Analyzer tool(MAT)分析内存泄漏(二)

    前言 在 使用Memory Analyzer tool(MAT)分析内存泄漏(一)中,我介绍了内存泄漏的前因后果.在本文中,将介绍MAT如何根据heap dump分析泄漏根源.由于测试范例可能过于简单 ...

  7. Profiler分析内存抖动,Memory Analyzer(mat)分析内存泄漏(不懂砍我)

    前言: 最近在系统性的温习了一遍android性能优化.写博客是学习也是记录,希望在记录的同时也能帮助其他同学.最近我觉得我想出一个不懂系列."不懂揍我","不懂砍我&q ...

  8. Memory Analyzer分析内存泄漏

    Memory Analyzer分析内存泄漏 模拟一次内存溢出 程序不断地向ArrayList添加对象,直至溢出 public class User {String userName;String pa ...

  9. 手把手教你在Android-Studio上分析内存泄漏,面试必会

    导语 本文的目的很简单,一句话:用最少的时间,最高效率,让你清楚:想要做Android开发,你需要学什么?你该在哪学? 本文的特点在于将繁琐的知识化为系列专题的形式展现给读者,当你能跟随博主构建的体系 ...

最新文章

  1. OpenCV中SurfDescriptorExtractor
  2. MySQL千万级数据JDBC插入
  3. 关于Zipalign的介绍和使用方法
  4. 爬虫实例十 XX酒店详情信息
  5. POJ 2752 Seek the Name, Seek the Fame (KMP)
  6. 【建模算法】基于粒子群算法求解TSP问题(Python实现)
  7. 魔兽世界服务器重置时间,大芒果魔兽世界单机版 如何更改所有副本的重置时间?...
  8. Unity ScrollView图片滑动翻页效果
  9. python编程就业_python编程语言就业做什么工作的?python就业方向
  10. 悉尼大学计算机专业新生,2020年悉尼大学计算机科学专业课程设置难不难
  11. CityBuilder+DataV制作次世代3D城市大屏,一秒俘获甲方的心!
  12. 微信打不开第三方二维码或链接的解决办法
  13. “三色河内塔”算法(三色汉诺塔)
  14. 在微软工作有多舒服?不加班,最高20天全薪年假,下班有时间玩狼人杀
  15. ubuntu16.04修改用户名、设备名和用户组名
  16. Infer工具Docker image发布
  17. 活动回顾(PPT+视频)|Python开发者的年度聚会,我们的现场直击!
  18. 浙江工业大学计算机学院推免生,浙江工业大学2017年计算机科学与技术学院拟接收推免生名单...
  19. 使用Java基于selenium实现淘宝秒杀自动化
  20. Fliqlo时钟Windows、IOS屏保

热门文章

  1. mutt的实现, mutt+msmtp+getmail配置
  2. stm32F1和stm32F4的区别
  3. 第二阶段冲刺-个人总结09
  4. Spring MVC 中 HandlerInterceptorAdapter的使用(拦截器)
  5. 异常处理机制——panic 和 recover
  6. ATI显卡开启fedora9的3d后果的一些条记
  7. 正文获取摘要 去除html标记
  8. 通过javascript实现的轻量级模态框解决方案(支持Ajax)
  9. linux android gradle构建机器 error while loading shared libraries: libz.so.1: cannot open shared object
  10. 小白的算法初识课堂(part8)--贪婪算法