- PR -

Tomcatのメモリ

1
投稿者投稿内容
Dream
常連さん
会議室デビュー日: 2004/01/29
投稿数: 43
投稿日時: 2008-05-24 10:37
Tomcatのメモリ使用に関してわからないことがあります。
現在、Windows XP, Tomcat 5.0.28 Struts1.1 JRE1.4.2 Apache Derby10.3で開発をしております。
Windowsのタスクマネージャーをみながら、Webアプリケーションにログインして、検索登録を行うと、PF使用量が増えていきます。それはいいのですが、ログアウトしてもメモリが解放されることなく、ずっと増えたままなのです。System.gc()をログアウト時(Sessionがunboundするときに)呼び出してもほとんどかわりません。

このような状態が普通なのでしょうか?それとも、何かメモリリークが発生しているのでしょうか。

よろしくお願いいたします。
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2008-05-24 13:20
引用:

Dreamさんの書き込み (2008-05-24 10:37) より:
Windowsのタスクマネージャーをみながら、Webアプリケーションにログインして、検索登録を行うと、PF使用量が増えていきます。それはいいのですが、ログアウトしてもメモリが解放されることなく、ずっと増えたままなのです。System.gc()をログアウト時(Sessionがunboundするときに)呼び出してもほとんどかわりません。


わりと良く聞く質問なのですが、「PF使用量」というのは Windows の世界のメモリー使用量ですので、Java のプログラムの挙動を調べるときには、そこまで見る必要はありません。

Java の世界の、
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/Runtime.html
の freeMemory() の値が少なくなりすぎないことや、totalMemory() が増え続けないことを確認されればそれで十分です。
Dream
常連さん
会議室デビュー日: 2004/01/29
投稿数: 43
投稿日時: 2008-05-24 14:08
ありがとうございました。

少し安心しました。一応、ログインしてから検索・登録をいろいろ繰り返したときに、
メソッドの呼び出しのタイミングでメモリの使用状況を見てみました。
デフォルトでは、MaxMemoryが64Mで、ログイン後すぐはtotal memoryの量があがっていきましたが、すぐに48Mで一定しているようです。
一応、下記にメモリの使用状況を書き出したものを掲載します。
左端から順に、MaxMemory, FreeMemory, UsedMemory, TotalMemoryです。
上から下に向かって、時間が経過しています。
もっと早いタイミングでメモリが解放されてもよいのでは?とも思うのですが、
こんなものなのかもしれませんね。

多分問題ないとはおもうのですが、もしおかしな点、気がついた点がありましたら、
ご指摘いただければ幸いです。


long max = runtime.maxMemory();
long free = runtime.freeMemory();
long used = max - free;
long total = runtime.totalMemory();
System.out.println(max + " " + free + " " + used + " " + total);


66650112 1615776 65034336 11264000
66650112 1664120 64985992 11264000
66650112 417992 66232120 11264000
66650112 374192 66275920 11264000
66650112 243280 66406832 11264000
66650112 900976 65749136 11264000
66650112 695568 65954544 11264000
66650112 6163952 60486160 14901248
66650112 5707176 60942936 15376384
66650112 5850856 60799256 15376384
66650112 5892600 60757512 15376384
66650112 5721856 60928256 15376384
66650112 5912928 60737184 15376384
66650112 5394832 61255280 15376384
66650112 5955288 60694824 16175104
66650112 6397288 60252824 16175104
66650112 5866488 60783624 16175104
66650112 5715640 60934472 16175104
66650112 1036760 65613352 16175104
66650112 7764736 58885376 18333696
66650112 7591368 59058744 18333696
66650112 8490016 58160096 18333696
66650112 7675832 58974280 18333696
66650112 7013152 59636960 18333696
66650112 6833984 59816128 18333696
66650112 12429792 54220320 30646272
66650112 11607744 55042368 30646272
66650112 7365928 59284184 30646272
66650112 6549288 60100824 30646272
66650112 6408208 60241904 30646272
66650112 6380808 60269304 30646272
66650112 3264272 63385840 30646272
66650112 2992224 63657888 30646272
66650112 2321480 64328632 30646272
66650112 785584 65864528 30646272
66650112 1118656 65531456 30646272
66650112 12217928 54432184 44105728
66650112 11588920 55061192 44105728
66650112 9587680 57062432 44105728
66650112 3759216 62890896 44105728
66650112 4213176 62436936 44105728
66650112 19402568 47247544 48914432
66650112 18982072 47668040 48914432
66650112 19439824 47210288 48914432
66650112 18496888 48153224 48914432
66650112 19793368 46856744 48914432
66650112 17069560 49580552 48914432
66650112 16079352 50570760 48914432
66650112 13598296 53051816 48914432
66650112 9562824 57087288 48914432
66650112 8833072 57817040 48914432
66650112 8047544 58602568 48914432
66650112 1830520 64819592 48914432
66650112 22704928 43945184 48914432
66650112 15769448 50880664 48914432
66650112 27707344 38942768 48914432
66650112 27484032 39166080 48914432
66650112 26878208 39771904 48914432
66650112 25782768 40867344 48914432
66650112 27920672 38729440 48914432
66650112 25888552 40761560 48914432
66650112 24407352 42242760 48914432
66650112 24429056 42221056 48914432
66650112 22332816 44317296 48914432
66650112 31470968 35179144 48914432
66650112 31335312 35314800 48914432
66650112 30640736 36009376 48914432
66650112 31534896 35115216 48914432
66650112 30912920 35737192 48914432
66650112 30691128 35958984 48914432
66650112 30221480 36428632 48914432
66650112 32260904 34389208 48914432
66650112 32083816 34566296 48914432
66650112 31884496 34765616 48914432
66650112 29851328 36798784 48914432
66650112 32461600 34188512 48914432
66650112 28924720 37725392 48914432
66650112 31964088 34686024 48914432
66650112 31897048 34753064 48914432
66650112 30848176 35801936 48914432
66650112 30442488 36207624 48914432
66650112 30375488 36274624 48914432
66650112 28490456 38159656 48914432
66650112 28277392 38372720 48914432
66650112 28210392 38439720 48914432
66650112 28331280 38318832 48914432
66650112 25187560 41462552 48914432
66650112 24504232 42145880 48914432
66650112 23192008 43458104 48914432
66650112 22236256 44413856 48914432
66650112 24881912 41768200 48914432
66650112 19929176 46720936 48914432
66650112 18234224 48415888 48914432
66650112 16428088 50222024 48914432
66650112 17517968 49132144 48914432
66650112 16802488 49847624 48914432
66650112 13177072 53473040 48914432
66650112 12696336 53953776 48914432
66650112 10247880 56402232 48914432
66650112 12762648 53887464 48914432
66650112 10377632 56272480 48914432
66650112 12831728 53818384 48914432
66650112 12435272 54214840 48914432
66650112 4194600 62455512 48914432
66650112 2579472 64070640 48914432
66650112 1592368 65057744 48914432
66650112 2309248 64340864 48914432
66650112 12154024 54496088 48914432
66650112 11367944 55282168 48914432
66650112 7252616 59397496 48914432
66650112 5586064 61064048 48914432
66650112 6023176 60626936 48914432
66650112 6408160 60241952 48914432
66650112 4901712 61748400 48914432
66650112 4118720 62531392 48914432
66650112 6631280 60018832 48914432
66650112 1795920 64854192 48914432
66650112 30247864 36402248 48914432
66650112 30219920 36430192 48914432
66650112 29612464 37037648 48914432
66650112 29071280 37578832 48914432
66650112 29003608 37646504 48914432
66650112 28830768 37819344 48914432
66650112 28371528 38278584 48914432
66650112 30146184 36503928 48914432
66650112 28278784 38371328 48914432
66650112 29951616 36698496 48914432
66650112 28570536 38079576 48914432
66650112 29825496 36824616 48914432
66650112 25139624 41510488 48914432
66650112 24138648 42511464 48914432
66650112 23690536 42959576 48914432
66650112 22316792 44333320 48914432
66650112 21787368 44862744 48914432
66650112 23302400 43347712 48914432
66650112 22612760 44037352 48914432
66650112 21864944 44785168 48914432
66650112 22929552 43720560 48914432
66650112 20874240 45775872 48914432
66650112 25194008 41456104 48914432
66650112 25126992 41523120 48914432
66650112 24955808 41694304 48914432
66650112 26384352 40265760 48914432
66650112 20496816 46153296 48914432
66650112 18905504 47744608 48914432
66650112 18282056 48368056 48914432
66650112 18221256 48428856 48914432
66650112 19770208 46879904 48914432
66650112 19284432 47365680 48914432
66650112 19217416 47432696 48914432
66650112 18995648 47654464 48914432
66650112 19425088 47225024 48914432
66650112 19114544 47535568 48914432
66650112 17310248 49339864 48914432
66650112 18843008 47807104 48914432
66650112 17411432 49238680 48914432
66650112 15087880 51562232 48914432
66650112 13957808 52692304 48914432
66650112 13005120 53644992 48914432
66650112 12986968 53663144 48914432
66650112 12545240 54104872 48914432
66650112 11069008 55581104 48914432
66650112 3915016 62735096 48914432
66650112 3773696 62876416 48914432
66650112 3282240 63367872 48914432
66650112 4356384 62293728 48914432
66650112 3981056 62669056 48914432
66650112 3490704 63159408 48914432
66650112 2862808 63787304 48914432
66650112 2919488 63730624 48914432
66650112 2602680 64047432 48914432
66650112 17354800 49295312 48914432
66650112 14672096 51978016 48914432
66650112 15659208 50990904 48914432
66650112 15529224 51120888 48914432
66650112 16564224 50085888 48914432
66650112 16712184 49937928 48914432
66650112 15266824 51383288 48914432
66650112 16120120 50529992 48914432
66650112 13688840 52961272 48914432
66650112 14927336 51722776 48914432
66650112 15138976 51511136 48914432
66650112 14574104 52076008 48914432
66650112 22829576 43820536 48914432
66650112 22810208 43839904 48914432
66650112 22414224 44235888 48914432
66650112 21732304 44917808 48914432
66650112 21665264 44984848 48914432
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2008-05-24 14:45
JDK1.6でもとりあえずは動くはずなので、
JDK1.6のランタイムでTomcatを動かして、
VisualVM等のツールでモニタリングしてみるといいでしょう。

[ メッセージ編集済み 編集者: かつのり 編集日時 2008-05-24 14:46 ]
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2008-05-24 16:38
引用:

Dreamさんの書き込み (2008-05-24 14:08) より:
一応、下記にメモリの使用状況を書き出したものを掲載します。
左端から順に、MaxMemory, FreeMemory, UsedMemory, TotalMemoryです。
上から下に向かって、時間が経過しています。


提示された値を見ましたが、totalMemory が増え続けないし、freeMemory も減りっぱなしにならないので、問題ないと思います。

引用:

Dreamさんの書き込み (2008-05-24 14:08) より:
もっと早いタイミングでメモリが解放されてもよいのでは?とも思うのですが、
こんなものなのかもしれませんね。


アプリケーション(tomcat)のレベルや VM のレベルで、ある程度のキャッシュやプーリングをしているものなので、それほど急激に解放されることはないと思います。
1

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