質問

2009年04月18日 17時42分
  • メモリを大量消費しているサービスを捕捉するには

情シスのオープンナレッジ『Syszo』サービス終了のお知らせ

質問

弊社で、スクラッチ開発によるECサイトを立ちあげたのですが、
そのECサイトのアプリケーションサーバー(WindowsServer2003+JBoss)の
定時システムバックアップが月一程度の頻度で異常終了してしまいます。
(システムバックアップは Backup Exec System Recovery7.0 で、
一時間毎に実施)

イベントビューアのアプリケーションログを見ると
「記憶域が不足している」という趣旨のエラーメッセージが出て、
異常終了しているのですが、通常時は1GB程度余裕がある状況です。

しかし、ふとタスクマネージャのパフォーマンスタブのコミットチャージの
最大値を見てみたところ、物理メモリの合計を1GBほど超えている値を
示していました。
ということは、どこかのタイミングで1GBのページングをしているということが
考えられると思うのですが、いつ、どのサービスがそのようにメモリを大量消費
するのかが突き止められません。
これを突き止めたいのですが、どんな方法が一番賢いでしょうか。
(できればコストはかけたくありません)

#パフォーマンスモニタでできるかと思ったのですが、
#サービス(アプリ、プロセス)単位でのメモリ利用状況はつかめませんよね。

たぶん、スクラッチ開発のECアプリが犯人だとは踏んでいるのですが、
できればしっぽをつかんでからベンダーに相談したいと考えています。
(いつのまにか直されたらなんかいやですしw)

ぜひアドバイスをお願いします!

1件の回答があります

回答

こんにちは。

tasklistコマンドをWSHかバッチコマンドで回してメモリ消費量が多いプロセスを引っ掛けてログを取ってみてはいかがでしょうか?

もう少し詳しく調べたいようでしたら、コマンドならhandle、GUIならProcess explorerなど使えば良いと思います。

インストールが必要になりますが、PowerShellを使うともう少し楽にできるかもしれません。

2009年04月20日 18時27分

あなたもコメントしましょう!