tomcatで java.lang.OutOfMemoryError: unable to create new native thread
負荷試験中に以下のエラーが出て、少しはまったのでメモ
java.lang.OutOfMemoryError: unable to create new native thread
普通にOOMなんだけど、このパターンで出力される時って
ユーザ空間不足や仮想メモリ不足が原因らしい。
んでもってOOMだからtomcatユーザのswap領域不足やulimit -aのmax memory sizeを疑ってみたけど、
両方とも十分過ぎるくらいに確保されている。
で、なんでかなーって思ってたらulimitのmax user processesが少なかったのが原因だった。
${tomcatのパス}/bin/setenv.shにlimit -u ${スレッド数}を書いてあげたら解決した。