Sun Java System Application Server Enterprise Edition 8.2 パフォーマンスチューニングガイド

ガベージコレクタのその他の設定

クラスの動的な生成および読み込みを行わないアプリケーションでは、永続的な世代のサイズは GC のパフォーマンスに影響しません。クラスの動的な生成および読み込みを行うアプリケーション (JSP アプリケーションなど) では、永続的な世代がいっぱいになるとフル GC がトリガーされるので、永続的な世代のサイズが GC のパフォーマンスに影響します。永続的な世代の最大サイズを調整するには、-XX:MaxPermSize オプションを使用します。

System.gc() メソッドを使用してアプリケーションから GC を明示的に呼び出せますが、メジャーコレクションが強制され、大規模なシステムではスケーラビリティーが抑制されるので、この方法はお勧めできません。-XX:+DisableExplicitGC フラグを使用して明示的な GC を無効にすることをお勧めします。

Application Server では、管理モジュールの RMI を使用して監視が行われます。RMI ベースの分散アプリケーションのガベージコレクションでは、時々ローカルコレクションを行う必要があるため、RMI では定期的なフルコレクションが強制されます。これらのコレクションの頻度は、-sun.rmi.dgc.client.gcInterval プロパティーによって制御します。たとえば、- java -Dsun.rmi.dgc.client.gcInterval=3600000 と指定すると、デフォルトの 1 分ごとではなく、1 時間ごとに明示的なコレクションが行われます。

Java 仮想マシンの属性を指定するには、管理コンソールを使用して、「config-name」 > 「JVM 設定」 (「JVM オプション」) でプロパティーを設定します。