w3wp.exe上的procdump:只有部分ReadProcessMemory或WriteProcessMemory请求已完成

我遇到了一个IIS应用程序的问题,偶尔在CPU使用率激增,并试图使用procdump获取内存转储进行检查。 我正在运行“procdump.exe -64 -mA 9999”,其中9999是进程的PID。 但是每次我这样做的时候,我都会遇到一个错误:

Only part of a ReadProcessMemory or WriteProcessMemory request was completed. 

这样做也可以回收应用程序,减轻CPU峰值,所以我不能继续尝试,直到我得到它的权利。

有谁知道发生了什么问题?

编辑更多的信息:到目前为止,我已经无法生成debugging转储,无论我尝试什么工具。 所有这些似乎都会产生同样的错误。 这是运行带有64位asp.net网站的IIS7的2008 R2 Datacenter。

我最好的猜测是某些东西被阻止,导致一些请求在IIS中保持打开并逐渐使用资源。 如果我使用IISpipe理器监视工作进程并查看所有请求,那么我将在一整天内看到一些“粘住”并永远运行的请求。 其中一些是用于静态文件的。 有些是为aspx页面。 我看不出有什么“共同”的原因。

每隔一段时间,应用程序池开始占用100%的CPU,唯一的补救办法是杀死它。

我不确定是什么原因导致了这个消息,但是我知道你可以使用SysInternals的Process Explorer创build一个转储。 在Process Explorer中,右键单击w3wp.exe并selectCreate Dump> Create Full Dump。 我的Windows 2003 x64服​​务器花了大约15秒钟来创build一个350 MB转储文件。 这也没有重新启动我的服务器上的应用程序池。

另一种select是Microsoft的debugging诊断工具。 根据许多不同的标准,这是捕获过程转储的终极目标。

https://www.microsoft.com/downloads/en/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&displaylang=en

我有一个类似的问题,虽然对于Windows服务。 原来我的问题是,这是一个在64位机器上运行的32位进程,所以运行procdump而不是procdump64是我的解决scheme。

你有没有尝试procdumpprocdump64