Hitachi

Cosminexus V11 アプリケーションサーバ リファレンス 定義編(サーバ定義)


-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. 使用するリソースの見積もり(バッチアプリケーション実行基盤)」を参照してください。