jconsole question -- probably the wrong mailing list but here goes...

Luis-Miguel Alventosa Luis-Miguel.Alventosa at Sun.COM
Wed Apr 9 06:45:27 PDT 2008


Hi Stephen,

Could you try to use jmap -dump and/or jmap -histo to see the names
of the instances being created?

You could also have a look at VisualVM in order to profile the application.

https://visualvm.dev.java.net

Regards,
Luis

 > On 4/9/2008 3:24 PM, Stephen Ryan wrote:
 >
 > Hi Alan,
 > Thanks for that but Im not sure its that at all. I've other servers
 > being monitored and Ive never seen jConsole have this effect. I did a
 > jmap on the server and saw some huge numbers. Im begining to think that
 > theres bad code thats causing classes to be loaded too many times. The
 > 'Classes' view in jConsole is showing me a constant rise in class
 > numbers. I would have  expected this to be more or less stable,
 > considering that the server is serving about 4 requests per second. The
 > CPU is pretty busy too.Busy  garbage collecting the eden space I guess.
 >
 > I was considering increasing the eden space to see if that alleavates
 > the problem, but if its a code problem, it wont help at all.
 >
 > Thanks!
 > Stephen.
 >
 > Alan Bateman wrote:
 >
 >> Stephen Ryan wrote:
 >>
 >>> Hi,
 >>>
 >>> I was wondering if its possible to get the size of the classes loaded
 >>> from jConsole. Im seeing a lot of GC's in the Eden Space in a server
 >>> thats basically doing nothing. Im thinking that the jvm is trying to
 >>> load classes in there that are just too close to the size of that space.
 >>>
 >>> Any help appreciated!
 >>>
 >>> Stephen.
 >>
 >> Classes are essentially allocated from the perm generation so I don't
 >> think this is what you are observing. Instead it is likely that you
 >> are observing the effect of the JMX agent in the target VM due to the
 >> polling by jconsole. Each time jconsole updates the display it must
 >> interact with agent in the agent VM so this means some objects are
 >> allocated which can lead to periodic scavenging that you observe. You
 >> can reduce the polling interval via jconsole's -interval=value option
 >> (interval is specified in seconds). The management interface for class
 >> loading doesn't include the size of the classes but if you try jstat
 >> then you can get this information (jstat -class <vmid>  for example).
 >>
 >> -Alan.



More information about the serviceability-dev mailing list