パラレル圧縮

説明

パラレル圧縮は、マルチプロセッサ(またはマルチスレッド)ハードウェアを利用するためにフルGCをパラレルで実行することで、既存のパラレル・コレクタを補完します。名前が示すとおり、2つ以上のCPUまたは2つ以上のハードウェア・スレッドを持つプラットフォームに最適です。この機能はJDK 5.0 update 6で最初に使用可能になり、JDK 6の実装ではパフォーマンスが大幅に向上しています。

パラレル圧縮が使用可能になる以前は、パラレル・コレクタが若い世代のコレクション(若いGC)をパラレルに実行していましたが、フルGCはシングル・スレッドで実行されていました。(若いGC時には若い世代のみが収集され、フルGC時にはヒープ全体が収集されます。)世代およびガベージ・コレクションの詳細は、下記で参照されるドキュメントを参照してください。パラレル圧縮はフルGCをパラレルに実行します。これにより、特に、マルチプロセッサ・ハードウェア上で実行される大きなヒープを持つアプリケーションで、ガベージ・コレクションのオーバーヘッドが減少し、アプリケーションのパフォーマンスが向上します。

パラレル圧縮の有効化

パラレル圧縮はデフォルトで有効になっていません。

-XX:+UseParallelOldGC

パラレル圧縮を有効にするには、このオプションをjavaコマンド行に追加します。(今後のリリースでは、パラレル圧縮はマルチプロセッサ・ハードウェア上でデフォルトで有効になる予定です。)

パラレル圧縮はコンカレント・マーク・スイープ・コレクタとともに使用することはできません。パラレル若い世代コレクタでのみ使用できます。使用可能なコレクタおよび推奨の使用方法の詳細は、下記で参照されるドキュメントに記載されています。

詳細情報

HotSpot ドキュメント・ページには、各リリースに固有のガベージ・コレクション・チューニング・ガイドへのリンクが含まれています。要件に最適なガベージ・コレクタを選択するためのガイドラインと、ガベージ・コレクション・オーバーヘッドを減らすのに役立つテクニックが示されています。


Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.