jconsole question -- probably the wrong mailing list but here goes...
Luis-Miguel Alventosa
Luis-Miguel.Alventosa at Sun.COM
Wed Apr 9 07:11:27 PDT 2008
It looks like someone is adding lots of entries to a HashMap,
probably with Strings as keys so try to find out in your code
where this could happen.
Regards,
Luis
> On 4/9/2008 3:57 PM, Stephen Ryan wrote:
>
> Hi Luis.
>
> I just discovered visualvm this morning in my quest. Its has some nice
> features and all the same stuff that jconsole delivers as well.
>
> Heres the top chunk of what jmap -histo delivers. Also the classes
> loaded count is still increasing. Im starting to lean towards a bug in
> the code of my webserver.
>
> Size Count Class description
> -------------------------------------------------------
> 70483456 210902 char[]
> 22539768 939157 java.lang.String
> 10608936 442039 java.util.HashMap$Entry
> 3876512 18922 java.util.HashMap$Entry[]
> 3823192 22119 * ConstMethodKlass
> 3046768 4349 byte[]
> 2724968 47155 java.lang.Object[] ...
>
> Luis-Miguel Alventosa wrote:
>
>> 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