0

問題: この特定のタスクより優先度の高いタスクが CPU 時間を占有し、タイムアウトの問題が発生しています。このタイムアウトの問題は、GC のフル サイクル中に非常に頻繁に見られました。それで、GCをJVMでのみ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 を 1 日 1 回未満に減らすことができれば、この問題はなくなります。

于 2012-04-11T05:55:22.847 に答える