我们有一个响应缓慢的 Web 服务器。似乎 DLLHost.exe 是问题所在(占用了约 100% 的处理器)。我们如何判断 DLLHost 中的哪个 dll 导致了问题。我们已经看到哪些 dll 已使用 Process Explorer 加载,但列表长达 100 个 DLL。我们可以使用什么工具或技术来隔离问题?
答案1
有一篇很棒的文章调试 IIS 的高 CPU 使用率。如果您按照此操作,您应该能够创建一个转储文件,这可能有助于确定哪个 DLL 导致了问题。
一旦确定了哪个 DLL 导致了问题,接下来就是尝试找出它做了什么以及是什么导致了问题。通常,至少对于为自定义软件编写的 DLL,这是因为代码陷入了循环。