-XX:HitachiThreadLimit(スレッド数の上限値指定オプション)
形式
-XX:HitachiThreadLimit=<整数値>
説明
スレッド数の上限値を指定します。スレッド数の上限値が指定値を超えた場合に,OutOfMemoryError例外がスローされます。ただし,JavaVMが起動する前に上限値を超えた場合,例外はスローされません。また,スレッド数には,アプリケーションがJNIなどを使用してJavaVMの管理外の範囲で作成したスレッド数は含みません。0を指定した場合,上限値は設定されません。
なお,-XX:+HitachiOutOfMemoryAbortオプションと同時に指定した場合,このオプションの機能によってOutOfMemoryError例外がスローされた場合,JavaVMの強制終了は実行されません。
また,-XX:+HitachiOutOfMemoryStackTraceオプションと同時に指定した場合,例外メッセージがJavaVMログファイルに出力されます。
- デフォルト値
-
-
-XX:HitachiThreadLimit=0
-
引数
- <整数値>
-
スレッド数の上限値を0〜2147483647の範囲で整数値(単位:スレッド数)を指定します。範囲外の値が指定された場合は0が設定されます。負の値を指定した場合はエラーとなります。
出力形式
Could not create "name" thread. Threadlimit Exceeded. num threads exist.
このメッセージは,java.lang.Throwable.getMessage()で取得できます。また,メッセージ全体が半角128文字以上になった場合は,メッセージの末尾が省略されます。
- name
-
作成に失敗したスレッド名。
- num
-
現時点でのスレッド数。
-XX:+HitachiOutOfMemoryStackTraceオプションが指定されている場合,JavaVMログファイルに例外情報とスタックトレースを出力できます。例外発生要因種別は,"Thread Limit"となります。例外発生要因種別については,「-XX:[+|-]HitachiOutOfMemoryCause(例外発生要因種別出力オプション)」を参照してください。
出力例
Could not create "Thread-1" thread. Threadlimit Exceeded. 9 threads exist.
この例は,mainスレッドによってjava.lang.Thread.startが呼び出され,この機能によって例外をスローした場合に,java.lang.Throwable.getMessage()でメッセージを取り出したメッセージの例です。
注意事項
上限値に小さな値を設定すると,起動前に例外をスローします。J2EEサーバが使用するスレッド数より小さな値を設定しないでください。
J2EEサーバが使用するスレッド数については,マニュアル「アプリケーションサーバ システム設計ガイド」の「5. 使用するリソースの見積もり(J2EEアプリケーション実行基盤)」または「6. 使用するリソースの見積もり(バッチアプリケーション実行基盤)」を参照してください。