Skip to main content

Is this graphs are for normal performance or the app leaking the memory ?!!

2 replies [Last post]
mazedev
Offline
Joined: 2009-01-30
Points: 0

Hey there,

I'm new to java profiling and testing and I faced some hang ups so i made some fixes to my code.

It's medium sized application and i captured some shots of the Memory Heap, Memory GC, Threads/Loaded classes Graphs From NetBeans Profiler.

[/b]If any one may see them and say if this is normal performance or I need some more fixing in the come.[/b]

Note that the graphs are captured when I was doing Load Test on the program

The Memory Heap Graphs
http://islamelhosary.mufix.org/profiler/3.png
http://islamelhosary.mufix.org/profiler/4.png
http://islamelhosary.mufix.org/profiler/7.png

The Memory GC Graphs
http://islamelhosary.mufix.org/profiler/2.png
http://islamelhosary.mufix.org/profiler/5.png
http://islamelhosary.mufix.org/profiler/8.png

The Threads/Loaded classes Graphs
http://islamelhosary.mufix.org/profiler/1.png
http://islamelhosary.mufix.org/profiler/6.png
http://islamelhosary.mufix.org/profiler/9.png

Thanks for your time

Islam El Hosary

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
greeneyed
Offline
Joined: 2003-06-10
Points: 0

Image #7 seems to hint that there's a memory leak somewhere, as your memory consumption keeps going up and when the GC kicks in, it frees less and less memory each time. This is based on the assumption that your load test is not supposed to make your application consume more memory as time advances, otherwise it might be you simply have reached the limit before the consumption reaches its peak.

The "spikes" are normal, but in a non-leaky application they should go up and then down to a "rough base line".

The Threads/Loaded classes graphs seem ok, as they look stable, if the numbers are big or not would be something for you to say, as you know the application.

I cannot tell much about the memory gc graph as the meaning of the axes is not there and I have not used it in a long time.

To find out why you are consuming more and more memory, the first thing I would try would be to take several memory snapshots during the test, properly separated in time, and then compare them. You'll see where the extra-memory has gone and then you have to try to find an explanation of why you have now x thousand instances of that class more.

S!

mazedev
Offline
Joined: 2009-01-30
Points: 0

Thanks man for your consideration ... I was having some leaks and fixed my code
Thanks again for your help and your time :)