Safepoint operations in our JVM occasionally take very long to sync the threads. However the spin and block times are very low during these occurences. The common cause shows <100ms for spin but over 30seconds up to 4 minutes for sync.
Neither the Thread dumps on Safepointtimeout, nor an attempted log analysis of what is going on in those moments helped so far.
The system is a realtime RTP Streaming application using JMF (and JDK 1.7) on a Windows Server VM.
The JVM Flags used:
-server
-Xloggc:./Log/gc.log
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-Xmx2G
-XX:-OmitStackTraceInFastThrow
-XX:+PrintSafepointStatistics
–XX:PrintSafepointStatisticsCount=1
-XX:+SafepointTimeout
-XX:SafepointTimeoutDelay=20
The Logs for the Safepoints look as follows (including a few surrounding ones)
55577.063: RevokeBias [ 2122 0 3 ] [ 0 0 0 0 0 ] 0
55577.066: BulkRevokeBias [ 2126 168 4 ] [ 49 0 94867 2 13 ] 0
55671.953: RevokeBias [ 2111 1 0 ] [ 0 0 15 1 16 ] 0
56867.883: RevokeBias [ 1742 0 1 ] [ 0 0 0 0 0 ] 0
56868.738: RevokeBias [ 1746 457 1 ] [ 88 0 39473 2 0 ] 0
56908.219: RevokeBias [ 1755 0 5 ] [ 0 0 0 1 0 ] 0
I would like to know what kind of circumstances could cause these massive sync times without being counted as spin or block times.
Thank you in advance