JIT stops compiling after a while (java 7)

Martin Traverso mtraverso at gmail.com
Wed Aug 14 23:24:20 PDT 2013

> We have several bugs opened and we are working on them.

Is there a bug report you could point me to?

> You can try to play with next 2 flags to see if it helps:
> product(intx,  MinCodeCacheFlushingInterval, 30,
>         "Min number of seconds between code cache cleaning sessions")
> product(uintx,  CodeCacheFlushingMinimumFreeSp**ace, 1500*K,
>        "When less than X space left, start code cache cleaning")
Tweaking these didn't seem to help.

> If you can build fastdebug VM you can run it with -XX:+PrintMethodFlushing
> to see what happened.
Here's a sample trace with PrintCompilation, PrintGCDetails and


I can see GC events, and a bunch of messages from the sweeper, but not a
single "flushing nmethod".

Here's another run with the variant that calls System.gc() every second.
This one does show "flushing nmethod" messages:


Do you have normal GC events (young gen collections) -XX:+PrintGCDetails?
> Methods usage marking and CodeCache sweeping initiation happen only during
> safepoints (usually when GC is needed) when all java threads are stopped.

Yes, there are normal GC events throughout the entire execution.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130814/d52207bc/attachment.html 

More information about the hotspot-compiler-dev mailing list