- ベストアンサー
メモリリーク
メモリリークに関する質問です。 現在稼動しているサーバーについてなのですが、メモリの使用量が実際に搭載しているメモリ量を超えてスワップが発生してしまっています。一日当り数MBのメモリが消費されてしまっているようなのですが、タスクマネージャー上ではそんなに増えているアプリケーションはありません。 プリンタドライバが悪さをしているとの話もあるのですが、調査の仕方がわからず困っています。 まずはこれがメモリリークなのかどうかがよくわからないのですが、調査方法等ご存知の方、知恵を貸してください。よろしくお願いいたします。 【ちなみに環境は】 ・Windows2000Server ・ORACLE9.0.1 ・プリンタ用のパッケージ ・VC++及びVBにて開発 【こんなシステムです】 ・一日に1400枚程度の紙を印字 ・RS232Cを使用して他のコンピュータと通信を 一日に1400回程度行っている (1回あたり256バイト)
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
アプリとかの開発系のことはあまり情報を持ち合わせていませんが。 http://www.atmarkit.co.jp/fwin2k/あたりの、「Windows Insider会議室」あたりはどうなんでしょうかね?ここのサイトは結構情報が濃いです。会議室もそれなりなのかな?なんて印象を持っていますが。同じような経験をお持ちの方もひょっとしたらいらっしゃるかもしれません。 私自身無料なので会員にはなっていますが、会議室は参加したことがありません。
その他の回答 (3)
1日数MBとは、結構大きいですね。どこかに問題があるとは思いますが、テストができるのなら印字のみ1万回や印字なしの処理を1万回などできれば、比較的楽に突き止められるとおもうのですが、、、 ところでやや話は逸れますが、Windows2000なら定期的な再起動は避けられないと思います。 知り合いが最近、Windows2000+SQL server で結構規模でシステム構築したときでも一日一回の再起動を最初から予定して作っていました。 そういえば、数ヶ月前にWindows2000のバグで、数ヶ月起動しているとI/O関連の不明なパフォーマンスダウンがあるっていうのがありました。Microsofが公表していた修正方法が、「マシンを再起動してください」「パッチが出るのは未定です」でした(苦笑) Windowsで動かす以上、最低でも1月に1度くらいは再起動できるようにシステムを変更するのは必要だと思います。
お礼
ご意見ありがとうございます。 おっしゃる通り、しらみつぶしで発見するか、REBOOTなんですよね。 しらみつぶしで発見できたとしても、プリンタのドライバとか、WinのAPIとかかもしれませんしね。 そうすると、やっぱりREBOOTか... REBOOT出来ない理由は、他のマシンがうちのマシンのヘルスチェックをしていて、REBOOTによるヘルスチェックエラーが出ていると、自動的に定期送信電文をためてしまうという運用になっています。 それを「変更して!」と頼めない弱い立場なんです。
- o_tooru
- ベストアンサー率37% (915/2412)
>開発はWin2kProを使用していますが、実行環境はSrvです。 了解です。職場にNT4.0のサーバーを入れたのですが、週に一度再起動かけさせてくれとのベンダーのお言葉でした。メモリーリークがありどうしても、メモリーが足りなくなるとのこと・・・
お礼
早いRESありがとうございます。 そうなんです、リブートが出来ればこんなに悩まなくても良いのですが、このユーザーはいろいろと制約があり、そのリブートが行えないんです。 まあ、しらみつぶしですかねぇ...
- o_tooru
- ベストアンサー率37% (915/2412)
こんにちは、お困りですね。 さてご質問の件ですが、WindowsNT系列のOSであってもディスクトップなったらかんたらの制限で、メモリーリークによりWindows9x系列のシステムリソースの制限と似た現象は発生しますね。 一つ一つ原因と思われる物を確認していかなければならないと思いますが。今職場なので詳しくは分かりませんが、Windows9x系に付いてくる「システムモニター」のような物がW2kにも有りますね。マイコンピュータ→左クリック→管理あたりだったかな? そこで、メモリーの使用状況を確認しながら、疑わしいアプリを立ち上げて、終了。この後メモリーを解放しないアプリは無いか?また、大量にメモリーリークをおこすアプリはないか?また、プリンターで有れば、ドライバーを削除して削除後と削除前との比較・・ なんて原始的な方法しか思い浮かばないですが。(あまり参考にならないかもしれません年) あと、確認ですが、サーバーなのですか?サーバーでプログラムの開発とかをなさっているのかな?バックグラウンドで様々なサービス立ち上がったりして重くなりませんか?W2kProではないのですか?
お礼
ありがとうございます。 そうですね、ひとつひとつ潰していくしかないかもしれません... あと、ご質問の回答なのですが、開発はWin2kProを使用していますが、実行環境はSrvです。 バックグラウンドのサービスは結構止めているのでそんなには重くはないです。
お礼
情報ありがとうございます。 サイトを見たのですが、名前からしてかなりカテゴリーが絞りこまれているので、良い結果になりそうですね。 とりあえずは質問を出して見たいと思います。