M. Takeyamaです。 On Fri, 30 Sep 2005 09:34:11 +0900 "li"
Takeyama様
おはよう御座います。 どうもです。
とは別のテスト機ということですね。 同じマシンです。
昨夜、マシンを再起動しました。(Oracle+Tomcatを起動しなくて、) freeでフリーメモリが460Mbぐらい、(Totalメモリ1GBです) 今朝、もfreeて見ると360MBぐらい成りました。 Out.Memmoryエラーを調べてため、この事をやりました。 繰り返しになりますが、「Out.Memmoryエラー」を出して いるのは誰になるのでしょうか? TomcatならTomcatのログにそのようなメッセージがあると思います。 #Tomcatのログもapacheのログに出力されるかもと思っていましたが、 #TomcatのログはTomcatのログファイルにでるんじゃなかった #でしたけ? Tomcatの原因なら何がしかの痕跡を残すと思います。 #(JVMのエラーログ先となるとどこになるのかな?)
まずは、原因(直接的な)を見極めてから、さらにその要因 の調査するようにした方が良いと思います。
論理的には、kernelの動作(メモリ管理の部分)を追っていけば 原因がわかると思いますけど... (kernelデバッグをやるみたいで、考えただけでも大変そう) 畏まりました。 私は初心者なので、kernelデバッグのやり方を教えて頂きませんか あくまで、原理的に出来そうということです。 自分自身、結構長く linuxを使っている(つもり)と思いますが、 Kernelをデバッグするような機会(必要がなくて)がなかった ので、やったことありません。 #freeでもツールがあったと思うし、商用のツールもあった #と思います。 #(即答、できません。すみません。)
前回のメールでも書いたように、
定期的なfreeのログとpsのログなどを比較して、メモリーの消費 パターンと各時点での各プロセス(どいつがメモリを使っているか) を調査しないとわからないと思います。 などの方法論で、特定出来ないとなると... #考えつく最終手段です(あんまりやりたくないですね。(大変そうだから))
ちゃんとやろうとすると、システムの経過観察が必要だと 思いますが、最低限、以下のことでもわかるかもしれません。 <メモリー使用量(プロセス単位で)をリストアップ> システム起動直後 ps -xl --sort -vsize −−−初期値をメモっておく。 放置後(現象再現させておいて) ps -xl --sort -vsize −−−値を初期値と比較する。 --- M. Takayama -------------------------------------- Know more about Breast Cancer http://pr.mail.yahoo.co.jp/pinkribbon/