jvm选项-XX:+ SafepointTimeout -XX:SafepointTimeoutDelay看起来不起作用

时间:2019-03-27 09:40:22

标签: java garbage-collection jvm jvm-arguments jvm-hotspot

我在jvm safepoint.log中的服务器上检测到较长的安全点(> 10sec!):

6534.953: no vm operation                  [     353          0              4    ]      [     0     0 14179     0     0    ]  0
7241.410: RevokeBias                       [     357          0              1    ]      [     0     0 14621     0     0    ]  0
8501.278: BulkRevokeBias                   [     356          0              6    ]      [     0     0 13440     0     2    ]  0
9667.681: no vm operation                  [     349          0              8    ]      [     0     0 15236     0     0    ]  0
12094.170: G1IncCollectionPause             [     350          0              4    ]      [     0     0 15144     1    24    ]  0
13383.412: no vm operation                  [     348          0              4    ]      [     0     0 15783     0     0    ]  0
13444.109: RevokeBias                       [     349          0              2    ]      [     0     0 16084     0     0    ]  0

在我的笔记本电脑上,我玩过-XX:SafepointTimeoutDelay = 2 效果很好,打印出错误的线程:

# SafepointSynchronize::begin: Timeout detected: 
...
# SafepointSynchronize::begin: (End of list)
<writer thread='11267'/>
         vmop                    [threads: total initially_running wait_to_block]    [time: spin block sync cleanup vmop] page_trap_count
567.766: BulkRevokeBias                   [      78          1              2    ]      [     0     6     6     0     0    ]  0

所以我已经添加了服务器选项: -XX:+ SafepointTimeout -XX:SafepointTimeoutDelay = 1000 要查看哪个线程导致了问题,但我看不到任何打印内容,尽管我仍然看到很长的安全点时间

为什么它不应用于服务器?

这是实际的服务器配置(取自safepoint.log):

Java HotSpot(TM) 64-Bit Server VM (25.202-b08) for linux-amd64 JRE (1.8.0_202-b08), built on Dec 15 2018 12:40:22 by &quot;java_re&quot; with gcc 7.3.0
...
-XX:+PrintSafepointStatistics 
-XX:PrintSafepointStatisticsCount=10
-XX:+UnlockDiagnosticVMOptions 
-XX:+LogVMOutput
-XX:LogFile=/opt/pprb/card-pro/pci-pprb-eip57/logs/safepoint.log
-XX:+SafepointTimeout 
-XX:SafepointTimeoutDelay=1000
...

0 个答案:

没有答案