• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Webアプリのメモリリーク)

Webアプリのメモリリーク

このQ&Aのポイント
  • Webアプリをjavaで開発し、Tomcat7を使用しています。起動時は80Mほどのメモリ使用量ですが、使用中に150Mほどに上昇し、ログアウトしても変化しません。
  • ログアウト時にはセッションを無効化していますが、まだオブジェクトへの参照が残っている可能性があります。ガーベッジコレクションも効果がなさそうです。
  • この状況はメモリリークしている可能性があります。問題の解決方法を見つけるためには、メモリ使用量の変化を追跡し、オブジェクトの参照を確認する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

>その後、使用し続けてもほとんど上昇しないのですがログアウトしてもメモリ使用量が150Mほどのままで変化がありません。 それで正常な動作です。 javavmの実装にもよるのかもしれませんが、一度OSから確保したメモリはjavavm自身が終了するまでOSに返すことはしません。 >30分ほど放っておけばガーベッジコレクションされるのかと思ったのですがメモリ使用量が変わらなかったのでガーベッジコレクションされてるわけでもなさそうです なのでGCが行われたところでjavavmのメモリ使用量が減るわけではありません。 GCの様子はvisualvmなどで見ることができます。

unko347
質問者

お礼

どうもありがとうございました。

unko347
質問者

補足

ご回答ありがとうございます。 早速visualvmを試してみたところTomcatをモニタリング できました。 起動したところTomcatに接続するのに認証ダイアログみたいなの が出たのですがID/PASSにroot/rootを設定したらTomcat に接続できました。このID/PASSはTomcatのどこで設定して いるのでしょうか。

その他の回答 (1)

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.2

>このID/PASSはTomcatのどこで設定しているのでしょうか。 申し訳ありませんがtomcat固有の事はわかりません。 この辺を調べてみてください。 http://tomcat.apache.org/tomcat-7.0-doc/monitoring.html

unko347
質問者

補足

ご回答ありがとうございます。 調べてみたいと思います。

関連するQ&A