groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Clark <>
Subject Re: Very Odd/Random JVM Slowdown With Indy
Date Tue, 15 Mar 2016 16:08:12 GMT
On Tue, Mar 15, 2016 at 7:40 AM, Winnebeck, Jason <> wrote:

> Method handles are a relatively new component to the JVM. One thing to
> consider is whether or not you are running the latest JVM version.
> If I ignore for a moment your finding of that method on the top of the
> stack, when I’ve seen the JVM get very slow without any apparent deadlocks
> I’ve also seen GC as an issue. I would just double check to make sure
> there’s not a leak (in heap or permgen/metaspace) going on, it might be
> possible that the MethodHandle code is more susceptible to GC pauses and
> appears more often in your stack dumps. Same thing with your underlying OS
> as well, I would just double check that you aren’t in a swap condition or
> (on Linux) in iowait states. Your note about removing indy fixing this
> seems to suggest that is not the case but it’s also a common condition I
> see with “JVM starts running order of magnitudes slower until you restart”
> issues. It may also be possible that Groovy indy or JVM invokedynamic has a
> leak that shows up as a memory scaling problem as well.
> Jason

We have had a problem previously with GC in this application. I was able to
isolate it to the Oracle driver and prevent the problem by forcing
statement caching. Now the GC is textbook "sawtooth" allocation and
deallocation. We go for hours with no major GC at this point. We also never
use the entire heap allocated to us, generally it is 500MB - 1GB under the
max heap size.

I have also checked metaspace and code cache (no permgen since this is Java
8). Both were well under the max limits. Is there some other memory
utilization I can check?

As for the OS conditions I was about to start monitoring OS level events
when disabling indy fixed the issue. However, the fact that we have run for
5 days now with no events and the only change being the indy change
suggests this is not at the OS leve.

View raw message