并发模式故障和升级失败的暂停时间非常长

时间:2014-11-13 18:43:32

标签: garbage-collection jvm virtual-machine jvm-hotspot

我正在尝试使用CMS收集器解决极长的暂停时间问题。我正在使用Java 1.6.0u20并计划升级到1.7.0u71但我们现在卡在这个旧版本上。

我想知道是否有人对这些漫长的"真实"暂停。

该计算机是一台虚拟机,但ESX主机上只有2台虚拟机,并且使用的核心数少于内核总数和可用内存数,因此交换不应成为问题,但我是不是100%肯定。任何与VM上的JVM相关的提示也会受到赞赏。

增加堆没有帮助 - 我们在吞吐量收集器上开始使用1gb,然后转到1.5,2,4,5,6 ......就在昨晚我将堆大小增加到10gb。问题始终存在于更大或更小的新尺寸等等。

这是并发模式失败:

2014-11-13T09:36:12.805-0700: 34537.287: [GC 34537.288: [ParNew: 2836628K->2836628K(3058944K), 0.0000296 secs]34537.288: [CMS: 3532075K->1009314K(6989824K), 298.2601836 secs] 6368704K->1009314K(10048768K), [CMS Perm : 454750K->105512K(524288K)], 298.2603873 secs] [Times: user=5.89 sys=31.00, real=297.67 secs] 
Total time for which application threads were stopped: 298.2647309 seconds

这是促销失败:

2014-11-13T11:23:30.395-0700: 40974.985: [GC 40974.985: [ParNew (promotion failed)
Desired survivor size 223739904 bytes, new threshold 7 (max 7)
- age   1:  126097168 bytes,  126097168 total
: 3058944K->2972027K(3058944K), 1.6271403 secs]40976.612: [CMS: 6369748K->1735350K(6989824K), 26.6789774 secs] 9103364K->1735350K(10048768K), [CMS Perm : 129283K->105970K(524288K)], 28.3063205 secs] [Times: user=8.05 sys=2.08, real=28.38 secs] 
Total time for which application threads were stopped: 28.3069287 seconds

为什么"真实"时间比cpu /内核时间长得多吗?

[Times: user=5.89 sys=31.00, real=297.67 secs]
[Times: user=8.05 sys=2.08, real=28.38 secs]

0 个答案:

没有答案