Javaチューニング - Java HotSpot JVM 10の 重要なパラメータ

2011/11/17 15:02Update
TAGS: Java | JVM | チューニング | パフォーマンス

Javaチューニングに欠かせない Java HotSpot JVM 10の パラメータ。

1)Javaヒープサイズ関連のJVMメモリ パラメータ
-Xms        初期化時のJavaヒープサイズ
-Xmx        Javaヒープの最大サイズ
-Xss>       Javaスレッドのスタックサイズ

2)gc(ガベージコレクション)情報の関連JVMパラメータ
-verbose:gc ガベージコレクション情報のログを記録する
-XX:+PrintGCDetails ガベージコレクションの詳細情報のログを記録する
-XX:-PrintGCTimeStamps  ガベージコレクションのタイムスタンプもログ対象となる

3)gcの種類を指定するJVMパラメータ
-XX:+UseParallelGC      
-XX:-UseConcMarkSweepGC
-XX:-UseSerialGC        

4)JVMデバッグ(リモート)関連のパラメータ
-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

リモートデバッグについて
How to Setup Java remote debugging in Eclipse

10 Java debugging tips in Eclipse

5)プロファイリング関連のJVMパラメータ
-Xprof
-Xrunhprof

6)Java classpath(クラスパス)関連のJVMパラメータ
-Xbootclasspath

classpathについて
How Classpath Works in Java

How to Solve ClassNotFoundException in Java


7)Perm Gen サイズ関連のJVMパラメータ
java.lang.OutOfMemoryError:Perm Gen Space.
エラー時のパラメータ設定

-XX:PermSize と MaxPermSize
-XX:NewRatio=2  Ratio of new/old generation sizes.
-XX:MaxPermSize=64m     Size of the Permanent Generation.

8)クラスのロードとアンロード時の情報をログするJVMパラメータ

-XX:+TraceClassLoading
-XX:+TraceClassUnloading

メモリリークと思われる際使ってみてください。


10)デバッグ目的でのJVMスイーチ
-XX:HeapDumpPath=./java_pid.hprof ヒープダンプのパス指定
-XX:-PrintConcurrentLocks       Ctrl-Break スレッドダンプ時のjava.util.concurrent ロック情報をログ
-XX:-PrintCommandLineFlags   コマンドラインのフラグをログ


参考資料


Javaメモリ、GCチューニングとそれにまつわるトラブル対応手順まとめ - 日記のような何か
参考:10 Examples of HotSpot JVM Options in Java
@IT:チューニングのためのJava VM講座(後編)

有关作者
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Sponsored Link


Comments

用户名 (required)

Email (will not be published) (required)

URL

Evaluation