2

gcログで見かけたPSOldGenガベージコレクタを検索したところ、Serial Mark-Sweep-Compactであることがわかりました。この gc がシリアルの場合、PSOldGen の PS は何の略ですか? 私の知る限り、それはパラレルスカベンジです。しかし、これは私を混乱させます。

[Full GC [PSYoungGen: 647K->0K(60352K)] [PSOldGen: 45361K->45875K(54528K)] 46008K->45875K(114880K) [PSPermGen: 10201K->10201K(21248K)], 0.0359430 secs]
4

2 に答える 2

8

JVM には、若いスペース コレクターと古いスペース コレクターの 2 つのコレクターがあります。HotSpot JVM は多数のアルゴリズムを実装していますが、コレクターの特定の組み合わせのみが実行可能です。

PSYoungGenは「並列スカベンジ」の若い空間 GC アルゴリズムですが、古い空間のデフォルトのシリアル アルゴリズムとは互換性がありません ( Tenured)。PSOldGenは、パラレル スカベンジの若い空間アルゴリズムと連携するために特別に追加されたシリアルの古い空間アルゴリズムです。PSYoungGen

古いスペースに対しても並列アルゴリズムを有効にすることができます ( -XX:+UseParallelOldGC)。この場合、動作中のアルゴリズムのペアが表示さPSYoungGenParOldGenます。

また、別の並列の若い空間アルゴリズムを有効にすることもできます-XX:+UseParNewGC。これは、デフォルトの直列の古い空間アルゴリズムと連携しますTenured

私はもうあなたを失いましたか?:)

HotSpot JVM に実装されたアルゴリズムの詳細については、私のブログを参照してください。

于 2013-05-08T16:25:15.600 に答える