Windows Server 2008的内存使用情况图

我试图跟踪我的Windows Server 2008上的内存泄漏。有不同的计划任务运行的Web应用程序,我怀疑是泄漏发生,所以我想知道在一天中的哪个特定的时间内存使用率上涨。

有没有一种工具可以用来追踪特定的过程?

网站使用IIS 7在ASP.NET上运行。

自NT以来,每个Windows服务器都带有性能日志和警报 。 它可以通过“perfmon”mmc工具访问。 您可以以不同的时间间隔为整个内存或进程的内存添加计数器日志,然后在稍后检查日志。 Perfmon允许您在任何柜台窗口轨道上进行测量。

看起来接口在2008年略有变化,但是这里有一个简单的指导,用于监视来自ibm 的JVM的内存 。 计数器/日志的基本概念应该保持不变。

对于能够查看系统的当前状态(和简要历史logging)的简单工具,请尝试Process Explorer

也许最直接的方法是安装DebugDiag 1.2,并启用LeakTrackfunction。

启动DebugDiag后,selectProcesses选项卡,右键单击所需的w3wp.exe进程,然后select“Monitor for leaks”。

您可以使用“规则”选项卡创build一个触发器来收集信息:

在这里输入图像说明

在这里输入图像说明

在这里输入图像说明

在这里输入图像说明

在生成用户转储文件之后,您可以使用“高级分析”选项卡,并运行内存压力分析器,它将检查转储文件并生成报告。

从文档:

“内存泄漏监视function被devise用来跟踪进程的内存分配,当系统上的一个进程继续在内存中增长,直到系统变得不稳定,或者进程停止正常运行时,应该使用这个特性。一个DLL放入指定的进程并随时监视内存分配,然后生成一个转储,然后分析转储以确定哪些分配没有被释放,并最有可能导致内存泄漏,分配通常分为三组:caching,长期分配,以后将被释放,内存泄漏所有三种分配方法在测量时间上具有非常明显的分配模式泄漏跟踪function使用基于这些分配模式的公式计算泄漏概率期间“。

debugging诊断工具v1.2
https://www.microsoft.com/en-us/download/details.aspx?id=26798