0

我遵循了以下教程中的建议:http: //humblecoder.co.uk/tag/windbg。我不得不说,运行这个命令:!dumpheap。我在第三列中添加了总字节数,然后再除以 1024 和 1024。这相当于 42MB。有问题的 ASP.NET 进程的大小超过 1.5GB。

这是在 Windows 2003 服务器上完成的,如果没有在任务管理器中创建转储文件的选项。因此我必须运行以下命令:.dump /ma w3wpdump.dmp。由于这是一个小型转储,是否缺少可以提供帮助的东西?

我昨天确实问了另一个问题,它概述了问题:ASP.NET Memory Leak - OracleCommand Object

4

1 回答 1

0

看看你的另一个问题,你的大部分内存使用似乎都被字符串使用了。我会转储其中一些字符串以查看其中的内容。dd您可以使用或db或查看字符串的内容,du并为其提供字符串实例之一的内存地址。即dd 0x12345678,它将转储位于那里的内存的原始内容。您可以查看 windbg 帮助以获取有关d*命令的更多信息。

但是,如果您确定托管堆似乎没有消耗内存,那么我会查看非托管堆。!heap -s将为您提供非托管堆的摘要,这可能是您使用过多内存的地方。

于 2012-07-18T02:05:31.140 回答