Posted by on 12 April 2013 05:06 AM
DebugDiag (exactly Debug Diagnostics Tool) is Microsoft’s utility (you can download it from: http://www.microsoft.com/en-us/download/details.aspx?id=26798) which can help in situations when normal logs cannot give the answer about state of IceWarp Server processes. In this document, we will cover two most common issues – CPU load (loop) and memory leaks.
In the case we need a dump of a process causing a high CPU load, the simplest way to determine whether the process (actually, one or more of its threads causes a loop is to use the Task Manager – check whether the process loads one of your processor cores to 100%. (i.e. 25% for four core processor). If you run into this situation, do the following:
In some buggy situations, you can see a raising size(s) of Private Bytes and Virtual Memory for specific process – this is called memory leak and can exhaust all of your available physical memory and even crash your system if it is not handled correctly. DebugDiag can serve as a monitor for these processes and can give us valuable information about the culprit. The only thing you should remember is that instead of “just in place dump” we need to monitor the given process for a while to gather needed information about memory regions and where they have been moved to. So it is fair to say you should run the monitoring ASAP after the memory starts growing or (if it is reproducible) after a service restart to clean up the address space.
To start monitoring:
When the memory of the process raised twice or more in size, just navigate to the Process tab again, right-click the process monitored for leaks and select Create Full Userdump.
These generated dumps can help our specialist to fix issues raised from leaks or loops much faster