質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Q&A

解決済

1回答

1425閲覧

java.lang.OutOfMemoryError: unable to create new native thread発生時の調査方法について

YomiYami

総合スコア17

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

0グッド

0クリップ

投稿2018/09/13 14:54

編集2018/09/16 00:50

前提・実現したいこと

発生が必ずではないため、根本的な原因を特定できていません。
スレッド数が増減に到達する原因の調査方法を教えてください。

発生している問題・エラーメッセージ

tomcat7環境において稀に

java.lang.OutOfMemoryError: unable to create new native thread

が発生する。

エラー原因

jconsoleによってメモリ等の監視
スレッド数が上限に到達したこと

追加情報_2018/09/16

特定SQL発行を含む処理を500回以上繰り返した場合に発生

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

想像になりますが、以下のようなケースが考えられるのではないかと思います。
どのようなシステムか不明なため、とりとめのない内容で申し訳ないです。

①特定条件下で無限ループが発生しスレッドの開放が行えず、無限ループが何件もスタックしてエラーとなる
②非常に重い、または時間の掛かる処理があり、スレッドの開放がアクセスに対して間に合わない。
※DBアクセスがあればSQL次第では非常に時間の掛かる処理になっている可能性も有り
③単純にアクセス数に対して同時接続数がOVERして処理が飽和してしまう。
④内部処理でオブジェクトの参照破棄(変数に null を代入等)をせず、大量のデータを保持したまま処理を行っている
⑤Sessionに大量のデータを保持して引き回すようになっていて、アクセスが集中した時にメモリを食い潰す
※session情報は削除を行わなければsessionTimeOutまで保持し続ける

投稿2018/09/14 02:59

mikan_s4n

総合スコア377

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YomiYami

2018/09/16 01:07

④内部処理でオブジェクトの参照破棄(変数に null を代入等)をせず、大量のデータを保持したまま処理を行っている >参照破棄についてどの場合に必要か分かっていないため、調べます。 ⑤Sessionに大量のデータを保持して引き回すようになっていて、アクセスが集中した時にメモリを食い潰す ※session情報は削除を行わなければsessionTimeOutまで保持し続ける >確かにSessionに多くの情報が保持しているためsession破棄の処理は追加しているんですが、漏れている可能性を調査します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問