window应用的内存检测

网友投稿 713 2022-09-10

window应用的内存检测

window应用的内存检测

最近有c#程序频繁的内存崩溃,出现oom错误。

目前的方案有两个方向。

方案1: 检测工具使用 perfmon系统自带的性能检测工具。

性能模块选择 net clr memory下 Bytes in all Heaps、Total commited Bytes 和 Total reserveed Bytes。如下图所示

再选择Process下的Virtual Bytes 和 Private Bytes性能指标。如下图所示

此工具可在用户程序运行期间,观察到程序是否有内存泄漏问题。

方案2:如程序发生oom异常,可通过系统管理器 主动生成 dump文件,通过windbg工具分析dump文件,定位导致程序出现异常的原因。

常用的windbg命令:

引入扩展: .loadby sos clr

内存分配摘要: !address -summary

堆摘要信息:!heap -s

堆使用情况的统计:!heap -stat -h

堆内存使用情况:!heap -flt s

堆 指定内存的数据:!heap -p -a

查看托管堆总信息: !eeheap -gc

托管内存的统计信息: !dumpheap -stat <托管堆>

托管堆的分析:!dumpheap -mt -min

查看对象内容:!do

查看对象的引用链:!gcroot

查看每代堆的大小: !heapstat

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Windows下PHP安装 Imagick扩展
下一篇:selenium弹框元素定位-冻结界面(selenium怎么定位弹窗的元素)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~