Large 'sync' value for ParallelGCFailedAllocation

后端 未结 1 1908
挽巷
挽巷 2020-12-19 21:04

Sometimes I see long pauses in my gc.log

2014-07-18T18:42:26.137+0400: 7846.980: [GC [PSYoungGen: 86267K->10032K(87744K)] 251198K-175254K(272512K), 0.

相关标签:
1条回答
  • 2020-12-19 21:56

    sync here is the total time spent to reach a safepoint. In other words, it is the latency between the safepoint request and the moment when all runnable Java threads are finally blocked.

    The safepoint synchronization may sometimes take too long due to one of the following reasons:

    • The application does not receive enough CPU time because the OS is busy with intensive disk I/O or when it starts swapping or when another high-priority process takes all CPU time.
    • Some Java thread performs long non-interruptible operation, e.g. copies large amount of data using System.arraycopy(), clone(), ByteBuffer.get() etc.
    • MappedByteBuffer I/O.

    To log the names of the threads that could not get blocked on a safepoint in 500 ms use

    -XX:+SafepointTimeout -XX:SafepointTimeoutDelay=500
    
    0 讨论(0)
提交回复
热议问题