Hitachi

uCosminexus Application Runtime - Cosminexus Developer's Kit for Java 機能解説・リファレンス


4.12 スレッド数の上限値設定機能

アプリケーションで使用するスレッド数が多くなると,Cヒープで使用するメモリ使用量が増加します。メモリ使用量の増加に伴いCヒープ不足が発生した場合,JavaVMの強制終了,アプリケーションサーバの異常終了などのトラブルが発生して,システムが全面停止してしまうおそれがあります。

このような問題の発生を防止するために,使用できるスレッド数に上限値を設定できます。あらかじめ使用するスレッド数の上限を把握し,その数を基にCヒープに割り当てるメモリサイズを決定することで,Cヒープ不足の発生を防止します。なお,設定した上限値を超えたスレッドが生成された場合は,例外がスローされます。アプリケーションでこの例外をキャッチして,適切な対処をすることで,システムの停止を抑止できます。

スレッド数の上限は,-XX:HitachiThreadLimitオプションで指定します。-XX:HitachiThreadLimitオプションの詳細は,「-XX:HitachiThreadLimit(スレッド数の上限値指定オプション)」を参照してください。