I have participated in some outsourced exceptions with my C # / WPF application and I am trying to get some confusing data running my memory usage profile
when the app is usually running, then made bounced a bit in Windows Task Manager memory usage to approximately 34 MB (objects and garbage collected) Shows When I run the Memory Profiling application and as such, they show total memory usage in about 1.2 MB.
Why this huge discrepancy? What does the task manager see that these profiles do not?
Update: I added some diet code in my application to print many memory information every time through process data. During my app running, I set a rule to dump the memory in case of an exception. I forced an exception to be made and the memory dumped. At this point, the memory usage of my app (shown by the task manager) jumped from 32 MB to 145 MB and remained there. You can see this jump in the table below (Workingset 64). I am still trying to understand all types of memory information provided by the process class. How does an external application work my app grow like this? Some of the diagnostic tools used here have been used, plus (which is a lot of money) let me leak Found the source. Memory profiling tool helped me to know that the leaks were mostly in unmanaged code, so that it was a real pain to track it. As well as dealing with these leaks, things have been cleared up in better understanding of Windows Memory (Personal vs. Work Set).
Comments
Post a Comment