- PR -

メモリリークの発生箇所とその対策について

投稿者投稿内容
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-12-07 19:31
今更ですが、-verbosegc とか使うと楽です。
http://yusuke.homeip.net/samurai/#content_1_9
http://www.beasys.co.jp/cs/support_news/product_troubleshooting/Investigating_Out_of_Memory_Memory_Leak_Pattern.html

[ メッセージ編集済み 編集者: インギ 編集日時 2006-12-07 19:33 ]
NOB
常連さん
会議室デビュー日: 2004/03/02
投稿数: 49
投稿日時: 2006-12-07 22:20
おおっ、早速活用させて頂きます。
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2006-12-08 16:49
メモリ消費の件とは関係ないんですが、 jdk-1_5でStringBufferの処理を
行われるのでしたら、StringBuilderの方が早いですよ、内部で同期処理が
入らない分。開発の終盤ですから、こういった方面で手を入れることは
無いでしょうが、今後機能追加などがあった場合は、試してみるといいと
思います。

メモリ消費の件ですが、nagiseさんの言われたフィールド変数に大きなサイズ
のインスタンスの参照が残りっぱなしということもあると思いますが、
セッションの継続時間がやたらと長い設定だとか、アプリケーションスコープ
にもいろいろなデータ設定をやられているとかはないですかね?。
セッションタイムアウトの時間を短くして、メモリ増加の傾向が大きく低下する
ようでしたら、疑ってみる必要があるかもしれません。アプリケーションスコープ
セッションでは、別の手法をとる必要があるとは思いますが。
セッションリスナーで、登録、変更、削除されるデータの中身をダンプ表示させる
と、セッションの状態がよくわかると思います。

ご参考まで

スキルアップ/キャリアアップ(JOB@IT)