why perm generation is continuously increasing?

Li Li fancyerii at gmail.com
Sun Feb 19 18:44:12 PST 2012


I am not familiar with Instrumentation. is there any tutorial for me to get
started?

On Sat, Feb 18, 2012 at 4:43 AM, Andreas Loew <Andreas.Loew at oracle.com>wrote:

> Hi Li,
>
> citing from here: http://kenai.com/projects/**btrace/forums/forum/topics/*
> *1109-Tracing-simple-program-**on-Windows<http://kenai.com/projects/btrace/forums/forum/topics/1109-Tracing-simple-program-on-Windows>
>
> "BTrace currently does not support tracing native methods. But, it may be
> feasible to support tracing native methods using native method prefixing
> support of java.lang.instrument.
> (http://java.sun.com/javase/6/**docs/api/java/lang/instrument/**
> Instrumentation.html#**isNativeMethodPrefixSupported%**28%29)<http://java.sun.com/javase/6/docs/api/java/lang/instrument/Instrumentation.html#isNativeMethodPrefixSupported%28%29)>
> ."
>
> I have never tried this myself, but see http://docs.oracle.com/javase/**
> 6/docs/api/java/lang/**instrument/Instrumentation.**
> html#setNativeMethodPrefix%**28java.lang.instrument.**
> ClassFileTransformer,%20java.**lang.String%29<http://docs.oracle.com/javase/6/docs/api/java/lang/instrument/Instrumentation.html#setNativeMethodPrefix%28java.lang.instrument.ClassFileTransformer,%20java.lang.String%29>on how you should probably be able to work around this by using byte code
> instrumentation and then have BTrace apply your probe into the intern()
> method of your instrumentation wrapper class...
>
> HTH & best regards,
>
> Andreas
>
>
> Am 17.02.2012 07:52, schrieb Li Li:
>
>> I want to use btrace to locate which function call String.intern()
>> but from http://kenai.com/projects/**btrace/forums/forum/topics/**
>> 1109-Tracing-simple-program-**on-Windows<http://kenai.com/projects/btrace/forums/forum/topics/1109-Tracing-simple-program-on-Windows>
>> it seems it's not feasible
>> any other methods?
>> I tried trace method call of String, constructor method and trim method
>> is ok. but native method like intern is not.
>>
>> On Fri, Feb 17, 2012 at 2:00 PM, Alexey Ragozin <alexey.ragozin at gmail.com<mailto:
>> alexey.ragozin at gmail.**com <alexey.ragozin at gmail.com>>> wrote:
>>
>>    Hi,
>>
>>    FYI
>>    Normally permanent generation is collect only during Full GC.
>>    -XX:+CMSClassUnloadingEnabled will enable permanent space
>>    collection as a part of concurrent old space collection.
>>
>>    Regards,
>>
>>        Date: Thu, 16 Feb 2012 20:53:59 +0800
>>        From: Li Li <fancyerii at gmail.com <mailto:fancyerii at gmail.com>>
>>
>>        Subject: Re: why perm generation is continuously increasing?
>>        To: hotspot-gc-use <hotspot-gc-use at openjdk.java.**net<hotspot-gc-use at openjdk.java.net>
>>        <mailto:hotspot-gc-use@**openjdk.java.net<hotspot-gc-use at openjdk.java.net>
>> >>
>>        Message-ID:
>>        <CAFAd71XuyVjQ+=0cTCpCB74wD03V**gYe_GhgPj78mcU_pk3syaQ at mail.**
>> gmail.com <0cTCpCB74wD03VgYe_GhgPj78mcU_pk3syaQ at mail.gmail.com>
>>        <mailto:0cTCpCB74wD03VgYe_**GhgPj78mcU_pk3syaQ at mail.gmail.**com<0cTCpCB74wD03VgYe_GhgPj78mcU_pk3syaQ at mail.gmail.com>
>> >>
>>
>>        Content-Type: text/plain; charset="iso-8859-1"
>>
>>
>>        I got it. we use String.intern for temporary variables.
>>        I used jmap -permstat and found that.
>>        btw jmap -permstat will cause jvm hang and should be carefully
>>        used.
>>        it hangs for a few minutes!
>>
>>        On Thu, Feb 16, 2012 at 6:55 PM, Li Li <fancyerii at gmail.com
>>        <mailto:fancyerii at gmail.com>> wrote:
>>
>>        > hi all,
>>        >     I found our application's perm generation size is
>>        continuously
>>        > increasing and will reach 100%(we limit maxPermSize to
>>        256MB) and perform a
>>        > full gc(which will pause for 10s).after gc, perm size usage
>>        falls to  about
>>        > 50% and again increasing. what kind of objects will be
>>        allocated to perm
>>        > generation? we don't use reflection in our application.
>>        >
>>
>>  --
> Andreas Loew | Senior Java Architect
> ACS Principal Service Delivery Engineer
> ORACLE Deutschland B.V. & Co. KG
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-gc-use/attachments/20120220/1d2f7755/attachment.html 


More information about the hotspot-gc-use mailing list