使用Windbg-UMDH定位内存上涨

原创 2018年04月17日 15:24:29

当测试到程序发生了内存上涨问题后,

第一步,使用VMMap确定内存上涨时涨在了哪里?


第二步,如果是涨在了Heap上,使用Windbg的UMDH来抓取程序的执行片段内存堆栈分配情况

        1. 程序启动稳定后第一次抓取内存

        2. 程序明显上涨后抓取第二次内存,建议上涨80~100M时抓取。

        3. 两次内存做比较,查看明显上涨的调用栈是哪里(第一个调用栈),就可以定位出主要上涨原因。

UMDH的使用:

1. 运行cmd,转至Windbg目录

2. 设置符号路径:set _NT_SYMBOL_PATH=SRV*D:\SysSymbols*http://msdl.microsoft.com/download/symbols;添加自己程序的pdb路径

3. 开启堆转储: gflags -i TestMemory.exe +ust

4. 运行TestMemory.exe

5. 记录堆使用情况: umdh -p:[TestMemory进行ID]  -f:[记录的文件名]  如:umdh -p:2055 -f:test1.txt

6. 待运行一段时间后,再次记录堆使用情况,如:umdh -p:2055 -f:test2.txt

7. 比较堆变化: umdh -d test1.txt test2.txt > test_diff.txt

8. 查看test_diff.txt就可以分析两次转储之间堆的上涨情况了。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41317482/article/details/79975088

java 关于 Finalizer 过多导致内存(Res)缓慢上涨

    病因: 事情的起因是由Flume的项目采集问题引发的. 测试人员发现用top命令查看采集进程的Res一直不断上涨姿势. 所以怀疑是内存泄漏.一, 对症下药    首先, 第一步肯定是先瞅瞅代码...
  • weixin_41771503
  • weixin_41771503
  • 2018-04-02 15:25:14
  • 20

关于在HMAC_MD5加密遇到的问题

The constructor BASE64Encoder() is not accessible due to restriction on required EclipseJavaAccessW...
  • QQ635785620
  • QQ635785620
  • 2012-01-29 13:55:18
  • 863

c++内存到底分几个区

  • 2011年11月08日 13:41
  • 4KB
  • 下载

Protobuf使用不当导致的程序内存上涨问题

protocol buffers[1]是google提供的一种将结构化数据进行序列化和反序列化的方法,其优点是语言中立,平台中立,可扩展性好,目前在google内部大量用于数据存储,通讯协议等方面。P...
  • baidu_mtc
  • baidu_mtc
  • 2016-01-11 19:12:29
  • 2487

vs2008调试工具之《内存》

VS2008的调试工具之内存查看:     往往在程序编写过程中会出现中断、溢出等等的错误,;或者出现程序中的数组、结构体、类等组合类型数据没有按照指定的思路输出或者传递等问题,这些错误往往都是由于...
  • zssureqh
  • zssureqh
  • 2012-05-24 15:43:38
  • 3371

压力测试中JVM内存暴涨原因分析实战

压力测试中JVM内存暴涨原因分析实战 - day day up - ITeye技术网站 var _gaq = _gaq ...
  • haiyanliu119
  • haiyanliu119
  • 2015-07-14 16:03:57
  • 1308

fushioncharts循环调用时内存问题

  • 2013年08月28日 10:17
  • 790B
  • 下载

Tomcat内存增长分析

问题:Tomcat从启动一个项目到加载完毕,这个阶段占用了500+MB 之后随便访问项目几个页面,tomcat内存蹭蹭涨到了800+MB。从启动的500+MB到800+MB期间只花了2分钟左右。(p...
  • IsResultXaL
  • IsResultXaL
  • 2017-02-21 16:35:56
  • 1281

关于Spark 1.5 版本中Spark自己管理内存而不是由Java管理内存的解释

Spark1.5针对Dataframe的内存优化的解释
  • wl044090432
  • wl044090432
  • 2016-01-29 15:54:19
  • 656

BUG错误定位后的分析,以及内存分析常用方法记录

2016年3月21日,凌晨2点多开始QQ邮箱收到几十封测试报警邮件,是在应该内自己通过切面做的关于Cassandra操作出现问题的报警。内容如下: 当天8点半起床后看到这么多报警,第一反应...
  • bigmazhiyu
  • bigmazhiyu
  • 2016-03-22 12:17:57
  • 887
收藏助手
不良信息举报
您举报文章:使用Windbg-UMDH定位内存上涨
举报原因:
原因补充:

(最多只允许输入30个字)