Help to find an excesive memory allocation in my application
-
I have a NMS application running in Windows 2003 server. The application usually has a working set of 35.000 KB aprox, but lastly I've seen that the working set climbs slowly until 600.000 KB aprox. or more... I have revised the too large code with a static analysis tool and I haven't found no suspicious memory leak... I would like to localize the thread that is consuming a big amount of memory but I don't know how to. Do you know any aplication that monitors the memory usage of the several threads of a specific process?. In addition to this, I have found something surprising... Usually I monitor the server by establishing a remote desktop session, when I disconnect the remote desktop session the working set of the application is freed, I mean, It down from 600.000 KB to 30.000 KB..., someone could tell me why?
-
I have a NMS application running in Windows 2003 server. The application usually has a working set of 35.000 KB aprox, but lastly I've seen that the working set climbs slowly until 600.000 KB aprox. or more... I have revised the too large code with a static analysis tool and I haven't found no suspicious memory leak... I would like to localize the thread that is consuming a big amount of memory but I don't know how to. Do you know any aplication that monitors the memory usage of the several threads of a specific process?. In addition to this, I have found something surprising... Usually I monitor the server by establishing a remote desktop session, when I disconnect the remote desktop session the working set of the application is freed, I mean, It down from 600.000 KB to 30.000 KB..., someone could tell me why?
If everything else fails to find the memory leak, you can try increasing the memory used ten-fold at single points in your application, one at a time. When you see the working set start to climb ten times faster, you've found the leak. I call this approach the "Signal Flare".
"Microsoft -- Adding unnecessary complexity to your work since 1987!"
-
I have a NMS application running in Windows 2003 server. The application usually has a working set of 35.000 KB aprox, but lastly I've seen that the working set climbs slowly until 600.000 KB aprox. or more... I have revised the too large code with a static analysis tool and I haven't found no suspicious memory leak... I would like to localize the thread that is consuming a big amount of memory but I don't know how to. Do you know any aplication that monitors the memory usage of the several threads of a specific process?. In addition to this, I have found something surprising... Usually I monitor the server by establishing a remote desktop session, when I disconnect the remote desktop session the working set of the application is freed, I mean, It down from 600.000 KB to 30.000 KB..., someone could tell me why?
-
I have a NMS application running in Windows 2003 server. The application usually has a working set of 35.000 KB aprox, but lastly I've seen that the working set climbs slowly until 600.000 KB aprox. or more... I have revised the too large code with a static analysis tool and I haven't found no suspicious memory leak... I would like to localize the thread that is consuming a big amount of memory but I don't know how to. Do you know any aplication that monitors the memory usage of the several threads of a specific process?. In addition to this, I have found something surprising... Usually I monitor the server by establishing a remote desktop session, when I disconnect the remote desktop session the working set of the application is freed, I mean, It down from 600.000 KB to 30.000 KB..., someone could tell me why?
There are any number of free and commercial libraries and other tools used to find memory and resource leaks in C++ code. However you haven't really identified so far that your application has a "leak". What you have identified is that it uses memory. Which of course any application does. A leak is somethere where memory is consumed unintentionally until all memory is gone.