- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Webアプリのメモリリーク)
Webアプリのメモリリーク
このQ&Aのポイント
- Webアプリをjavaで開発し、Tomcat7を使用しています。起動時は80Mほどのメモリ使用量ですが、使用中に150Mほどに上昇し、ログアウトしても変化しません。
- ログアウト時にはセッションを無効化していますが、まだオブジェクトへの参照が残っている可能性があります。ガーベッジコレクションも効果がなさそうです。
- この状況はメモリリークしている可能性があります。問題の解決方法を見つけるためには、メモリ使用量の変化を追跡し、オブジェクトの参照を確認する必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>その後、使用し続けてもほとんど上昇しないのですがログアウトしてもメモリ使用量が150Mほどのままで変化がありません。 それで正常な動作です。 javavmの実装にもよるのかもしれませんが、一度OSから確保したメモリはjavavm自身が終了するまでOSに返すことはしません。 >30分ほど放っておけばガーベッジコレクションされるのかと思ったのですがメモリ使用量が変わらなかったのでガーベッジコレクションされてるわけでもなさそうです なのでGCが行われたところでjavavmのメモリ使用量が減るわけではありません。 GCの様子はvisualvmなどで見ることができます。
その他の回答 (1)
- wormhole
- ベストアンサー率28% (1626/5665)
回答No.2
>このID/PASSはTomcatのどこで設定しているのでしょうか。 申し訳ありませんがtomcat固有の事はわかりません。 この辺を調べてみてください。 http://tomcat.apache.org/tomcat-7.0-doc/monitoring.html
質問者
補足
ご回答ありがとうございます。 調べてみたいと思います。
お礼
どうもありがとうございました。
補足
ご回答ありがとうございます。 早速visualvmを試してみたところTomcatをモニタリング できました。 起動したところTomcatに接続するのに認証ダイアログみたいなの が出たのですがID/PASSにroot/rootを設定したらTomcat に接続できました。このID/PASSはTomcatのどこで設定して いるのでしょうか。