如何利用S_MEMORY_INSPECTOR分析内存泄漏问题

发布时间:2021-12-30 17:55:58 作者:柒染
来源:亿速云 阅读:180

如何利用S_MEMORY_INSPECTOR分析内存泄漏问题,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

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

如何利用S_MEMORY_INSPECTOR分析内存泄漏问题如何利用S_MEMORY_INSPECTOR分析内存泄漏问题

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

如何利用S_MEMORY_INSPECTOR分析内存泄漏问题如何利用S_MEMORY_INSPECTOR分析内存泄漏问题如何利用S_MEMORY_INSPECTOR分析内存泄漏问题

如何找到出现memory leak的代码的准确位置?

我的report里有个package size,类似于OPEN CURSOR和FETCH的design,比如package size是1000,那么每1000个service order创建成功后,清一次buffer,然后创建第二批1000个order,再清第二次buffer.

所以我只需要在两次清buffer之后分别创建一个memory snapshot:

如何利用S_MEMORY_INSPECTOR分析内存泄漏问题

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

如何利用S_MEMORY_INSPECTOR分析内存泄漏问题

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

看完上述内容,你们掌握如何利用S_MEMORY_INSPECTOR分析内存泄漏问题的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. 内存泄漏分析利器MAT
  2. python中如何解决内存泄漏问题

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:如何通过matlab的fdatool工具箱设计FIR滤波器

下一篇:如何进行SAP Cloud for Customer Price的计价分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》