Javaチューニング - Java HotSpot JVM 10の 重要なパラメータ
2011/11/17 15:02Update
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講座(後編)
-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 Eclipse5)プロファイリング関連のJVMパラメータ
-Xprof
-Xrunhprof
6)Java classpath(クラスパス)関連のJVMパラメータ
-Xbootclasspath
classpathについて
How Classpath Works in Java
How to Solve ClassNotFoundException in Java7)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講座(後編)
Sponsored Link
Comments
- Relative Articles
- Java開発及び実行環境の構築 | Linux篇 - (2008/08/31 20:34)
- Java開発及び実行環境の構築 | Windows篇 - (2008/08/31 21:18)
- 5分でJava Hello World! - (2008/08/31 22:13)
- Java言語の制御構文 - 条件分岐if/else/else if - (2008/10/01 21:30)
- Java言語の繰り返し制御構文 - for文 - (2008/10/03 18:22)
- Java言語の繰り返し制御構文 - do ... while文 - (2008/10/03 21:23)
- Java言語の繰り返し制御構文 - while文 - (2008/10/03 21:32)
- Java言語の基礎 - javacコマンドによるコンパイル - (2008/10/10 17:58)
- Java アクセス修飾子概要 - (2008/10/29 18:31)
- Javaアノテーション機能 概要 - (2009/02/12 13:06)