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.
