File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Performance and the fly likes Doubt Using NetBeans builtin profiler Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » Performance
Bookmark "Doubt Using NetBeans builtin profiler " Watch "Doubt Using NetBeans builtin profiler " New topic

Doubt Using NetBeans builtin profiler

RaviNada Kiran
Ranch Hand

Joined: Jan 30, 2009
Posts: 528

Hello All ,

I am trying to learn Profiling the code . For this i am using Netbeans builtin Profiler .

I have simply created a Project with default index.jsp(That comes with the IDE) and deployed the Applicication in Tomcat 5.0 .

Now my doubt is when i ran profiler and checking the Memory Results , what i observed is the char[] class name and other other classes are increasing their size.

Is this a memory Leak ??

Please tell me .

If you want something you never had do something which you had never done
Norman Larson

Joined: Mar 05, 2009
Posts: 7
You have to run your application for a long time to see if it's really a memory leak. Keep in mind that garbage collection only occurs periodically, so if you're running a short program you may not see the objects get garbage collected, because the GC just hasn't bothered to do it yet. You can also call System.gc() to manually invoke garbage collection, and then do Thread.sleep for a while.

In Netbeans, try using the VM Telemetry view (under the Profiler tab) to watch the total memory usage. (You can set the profiling mode to "monitor" rather than "memory" or "cpu", which takes much less overhead because it's just keeping track of the VM Telemetry info.) If you run the program for a long time, you should start to see a wave-like pattern where the total memory usage drops at each garbage collection, then slowly builds up, then drops again. However, if the memory usage slowly goes up over time, then you know you've got a memory leak. That's when you should start doing actual memory profiling and see if your char arrays are being persisted rather than garbage collected. It could also be some other data structure you never guessed, so keep track of the "surviving generations" rather than total number. Netbeans has a good tutorial here:
RaviNada Kiran
Ranch Hand

Joined: Jan 30, 2009
Posts: 528
Thanks Norman . It was a nice explanation .

I have a one more question , if we set the XMX for 256M and if it exceeds will this throw an OOM or the Operating system will manage ??

I agree. Here's the link:
subject: Doubt Using NetBeans builtin profiler
It's not a secret anymore!