Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm trying to trace a memory leakage on my Windows Server 2008. There are different schedule tasks run by the web app which I suspect the leakage is happening so I want to know at which particular time of the day when the mem usage hikes.

Is there a tool which I can use to track only that particular process?

Website is running on ASP.NET with IIS 7.

share|improve this question

2 Answers 2

Every windows server since NT comes with Performance Logs and Alerts. It can be accessed with the "perfmon" mmc tool. You can add counter logs for overall memory or memory of a process at various intervals then review the logs at a later date. Perfmon allows you to instrument just about any counter windows tracks.

It looks like the interface has changed slightly in 2008 but here's a simple guide for monitoring memory of a JVM from ibm. The basic concepts of counters/logs should remain the same.

For a simple tool to be able to view current status (and brief history) of a system try Process Explorer

share|improve this answer

Perhaps the most straightforward approach would be to install DebugDiag 1.2, and enable the LeakTrack functionality.

After launching DebugDiag, select the Processes tab, right-click the desired w3wp.exe process, and select "Monitor for leaks".

You may use the Rules tab to create a trigger to collect the information:

enter image description here

enter image description here

enter image description here

enter image description here

After the user dump files have been generated, you can then use the Advanced Analysis tab, and run the Memory Pressure Analyzer, which will inspect the dump files and generate a report.

From the documentation:

"The memory leak monitoring feature is designed to track memory allocations for a process. This feature should be used when a process on the system continues to grow in memory until the system becomes unstable, or the process stops functioning correctly. The debug tool will inject a DLL into the specified process and monitor memory allocations over time. A dump is then generated, and the dump is analyzed to determine what allocations are not being freed and most likely causing the memory leak. Allocations generally fall into 3 groups: caching, short term allocations that will be freed later, and memory leaks. All three allocation methods have very distinct allocation patterns when measured over time. The leak tracking feature calculates a leak probability using a formula that is based on these allocation patterns as measured over a specific time period. "

Debug Diagnostic Tool v1.2
https://www.microsoft.com/en-us/download/details.aspx?id=26798

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.