2016-03-03 35 views
0

有没有人也会对在KVM上运行的JVM(Java 7和8热点)中出现意外停止世界暂停的情况有所了解?我认为,由于虚拟化,硬件上的其他KVM可能会从我的JVM处理时间。可能吗?你能解决这个问题吗?Java意外停止在KVM上运行的世界

我的垃圾收集器图看起来很正常。每15分钟发生一次次要的gc,所以我认为这不可能是经常发生STW的原因。

+3

在虚拟化的操作系统中,您可以随机暂停大约50毫秒,如果系统繁忙,则可以更多。 –

回答

2

我建议你运行一个JVM,它不会因监视器抖动而无所作为。例如 MicroJitterSampler

这将有助于确定您的系统正在获取的抖动。 例如在干净的机器上,你可能会得到

2us 78400 
3us 122703 
4us 345238 
6us 216098 
8us 78694 
10us 3977528 
14us 114495 
20us 4931 
30us 203 
40us 35 
60us 18 
80us 11 
100us 9 
140us 132 
200us 85 
300us 473 
400us 5 
1ms 24 

这是标准化的每小时抖动。

具有亲和力,你可以得到这低得多。在虚拟机器上,您可能希望在安静的机器上看到5 - 50毫秒。