关于一次程序应用,内存持续升高。排查以及解决方案。 |
您所在的位置:网站首页 › 微信用的越久占用内存越大 › 关于一次程序应用,内存持续升高。排查以及解决方案。 |
关于一次程序应用,内存持续升高。排查以及解决方案。 一、背景:
要解决内存持续增长的问题,首先需要定位问题,才能做相应的修复。对于逻辑简单的代码,可以简单直接通过排除法来定位问题代码所在,对于错综复杂的代码,就需要耗费一定时间了。 当然除了排除法,还可以借助内存检测工具来快速定位问题代码。对于.net平台,微软提供.net辅助工具CLR Profiler帮助我们的性能测试人员以及研发人员,找到内存没有及时回收,占着内存不释放的方法。 监测客户端程序运行的结果如下: 这是事后在测试环境,空业务使用下,检测了一个晚上。发现内存使用率还是稳定上升,即使用GC强行回收也只能回收到300多。 看看检测到的内存溢出的分析报告。 经过注释代码方式测试,空业务测试。发现内存还是在涨,注释代码只是影响内存涨的速度 也通过注释代码查到是哪一块问题。发现是公司插件库里面一个插件,链路疯狂继承,反复实例。导致变成动态数组,donet无法对它进行回收:( 这个span串了很多个builder ) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |