We've started monitoring our application with Yourkit, version 11. Since we did, we sometimes observe very strange behaviour. Minor garbage collections sometimes cause stop-the-world pauses longer than two minutes.
-
There has been three major version since then. If it is a bug in YourKit it might have been fixed in version 2014, I suggest you try it and see. – Peter Lawrey Jan 20 '15 at 10:47
-
Could you provide snippet of your GC log? – Alexey Ragozin Jan 21 '15 at 04:51
1 Answers
Long STW pauses in minor collections can be caused by native threads, which have to reach safe-points before the actual collection starts (as mentioned for example here: Java GC safepoint or here: Long incidental Young garbage collection pauses).
Yourkit, used with the profiler agent (a .so/.dll file) makes use of such native calls. The threads which actually do these calls are filtered from the threads view within the profiler and cannot be seen. That's why the stack-trace-view of Yourkit itself is no help analyzing that problem.
The problem will go away, if you stop using yourkit in the agent-mode.
Edit
Following the advice of Peter Lawrey we've downloaded a trial of yourkit 2014. The agent has been running in production for two days now and the problem did not occur anymore.
-
Please provide details (here or to support(at)yourkit.com) about the YourKit threads which cause STW pauses. Best regards, Vladimir Kondratyev YourKit, LLC – Vladimir Kondratyev Jan 22 '15 at 14:54