Win a copy of Zero to AI - A non-technical, hype-free guide to prospering in the AI era this week in the Artificial Intelligence and Machine Learning forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Paul Clapham
  • Bear Bibeault
  • Jeanne Boyarsky
Sheriffs:
  • Ron McLeod
  • Tim Cooke
  • Devaka Cooray
Saloon Keepers:
  • Tim Moores
  • Tim Holloway
  • Jj Roberts
  • Stephan van Hulst
  • Carey Brown
Bartenders:
  • salvin francis
  • Scott Selikoff
  • fred rosenberger

Doubt Using NetBeans builtin profiler

 
Ranch Hand
Posts: 528
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

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 .
 
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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: http://www.netbeans.org/kb/articles/nb-profiler-uncoveringleaks_pt1.html
 
RaviNada Kiran
Ranch Hand
Posts: 528
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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 ??


 
For my next feat, I will require a volunteer from the audience! Perhaps this tiny ad?
the value of filler advertising in 2020
https://coderanch.com/t/730886/filler-advertising
reply
    Bookmark Topic Watch Topic
  • New Topic