Sun JVM サーバ VM のデフォルト GC アルゴリズム | Quitada セカンドブログ

Quitada セカンドブログ

SEO コンテストの残骸です。

Sun 社の Java 仮想マシン実装(以下、Sun JVM)のデフォルト GC って、いわゆる昔からある世代別 GC で、GC スレッドは同時に 1 つしか動作せず、GC の度に全てのアプリケーションスレッドを停止させるいわゆるシリアルコレクタ(-XX:+UseSerialGC)によるものだと思ってました。

そしたら、Sun 社の以下のサイトによると、JDK 5.0 ベースの Sun JVM は、サーバ VM(-server オプション付与)のデフォルト GC アルゴリズムは、マルチ CPU/コア環境だと、パラレル GC(-XX:+UseParallelGC)なんですね。


マルチ CPU/コアな環境で Sun JVM をサーバ VM で動作させて詳細な GC ログをだす(-server -XX:+PrintGCDetails)と以下のようなログがでてきます。
[GC [PSYoungGen: 12878K->955K(20160K)] 39256K->28074K(253184K), 0.0102034 secs]
PS~とついていると、パラレル GC しましたよん、という意味のようで。

へぇ~。