0

问题:比该特定任务具有更高优先级的任务占用 CPU 时间并导致一些超时问题。我们在 GC 完整周期中经常看到这个超时问题。那么,有没有办法仅在 JVM 中将 GC 限制为特定百分比的 CPU?

使用的JVM参数:

wrapper.java.additional.3=-XX:+UseConcMarkSweepGC

wrapper.java.additional.4=-XX:+ExplicitGCInvokesConcurrent

wrapper.java.additional.5=-XX:+CMSIncrementalMode

wrapper.java.additional.6=-XX:CMSIncrementalDutyCycle=50

wrapper.java.additional.7=-XX:CMSIncrementalDutyCycleMin=50

4

1 回答 1

5

不,但你也不想。问题是,即使您使用的是 CMS,也有一些部分必须阻止这个世界,这可能会导致您的超时。

更好的解决方案是对您的应用程序进行内存分析,以减少垃圾的产生。这将通过大小和频率减少您的 GC 时间。如果您可以将 GC 减少到每天一次以下,您将不再遇到此问题。

于 2012-04-11T05:55:22.847 回答