• 締切済み

NT Server4.0のメモリリークについて

こんにちは。今会社でNT Server4.0を使って特定の顧客との間でWEB受注業務を行っています。最近頻繁にクライアントから「仮想メモリが足りない」とメッセージが出て動かない」「アクセスやページの移動に極端に時間がかかるので何とかして欲しい」との問い合わせがあります。 のの状況下でタスクマネージャーを見てみるとパフォーマンスのメモリの使用履歴のグラフが8割位のところを指しています。 これはメモリリークなのでしょうか? また再起動以外にメモリを解放する方法はないのでしょうか。シェアウェアがあると聞いた事もあるのですがご存じの方教えてください。 ちなみに実装メモリ、仮想メモリ共に256MBです。

みんなの回答

noname#2009
noname#2009
回答No.1

WEB経由でクライアントさんのマシンで「仮想メモリが 足りない」と出るのなら、クライアントさんのマシンの 事情かと思われますが・・・ メモリに関しては時間とともに増加していくのならリーク です。しかし多量に消費していても常に一定量であるの なら、ただ容量を食うシステムであるだけです。 出回っているソフトなら「めもりくりーなー」「MemTurbo 」などありますが、ホントにリークしているなら、きちんと 開発側で障害対応をした方がよいのでは。

yamanyani
質問者

お礼

ご回答有難うございます。クライアントから連絡をもらいサーバーをチェックしてみるとサーバーのモニターにメッセージが出ているのでクライアントの問題ではないと思います。 開発担当者に確認してみます。

関連するQ&A

  • メモリリークを調べています。

    メモリリークを調べています。 MFC(VC2005)です。 MFC拡張DLLで作成したアプリケーションにメモリリークがないかを調査し始めたのですが、VisualStudioでデバッグでは 「Detected memory leaks!」は出ません。 パフォーマンスモニタで、このDLLを静的リンクしたEXEのPrivateByteを約90時間監視すると、2回だけ大きな上昇(といっても数10KB)が見られました。 上昇するまでは横ばいですが、この横ばいの時間が2回とも異なります。 これはメモリリークと言えるのでしょうか? ちなみに、このDLLの調査対象機能は画像描画機能で、定期的にメモリ確保→メモリ解放を繰り返します。 メモリリークでないとしたら、どう結論付けたら良いでしょうか? 解決方法はありますか? 私としてはフラグメンテーションを疑っています。

  • Windowsでメモリリークの特定

    Windows8を使っていてメモリを8GB積んでいます。 3日ほど起動しっぱなしでいるとメモリの空きが少なくなっています といった警告ウインドウが出てきて、、メモリ使用量が6GBほどになっております。 恐らく何かのプロセスがメモリリークしてると思うのですが、 [タスクマネージャ]→[プロセス]タブを開き、メモリ列を確認しても メモリを多量に使っているプロセスは無く、表示されている全プロセスのメモリを合計しても、 とうてい6GBには達しません。 しかし[パフォーマンス]タブをみると8GB中の6GB使用中と表示されています。 このリークしているであろう見えないプロセスを特定するにはどうしたらよいでしょうか? 知っている方いましたら教えて下さい。 お願いします。

  • メモリリークの件

    メモリリークについて教えてください。 最近VC++を勉強中なのですが、メモリリークというものを知り、_CrtDumpMemoryLeaks()をしたところ、以下のコメントが出力されました。 [コメント] Detected memory leaks! Dumping objects -> strcore.cpp(118) : {71} normal block at 0x00344978, 20 bytes long. Data: < cmd.> 01 00 00 00 07 00 00 00 07 00 00 00 63 6D 64 2E {48} client block at 0x003428E8, subtype 0, 64 bytes long. a CDynLinkLibrary object at $003428E8, 64 bytes long {43} client block at 0x00342720, subtype 0, 64 bytes long. a CDynLinkLibrary object at $00342720, 64 bytes long {41} client block at 0x003425D0, subtype 0, 64 bytes long. a CDynLinkLibrary object at $003425D0, 64 bytes long Object dump complete. スレッド 0x584 終了、終了コード 0 (0x0)。 上記のコメントから、メモリリークを起こしていることはわかりました。ただ、strcore.cppというクラスは作成していないのですが、エラーが出ます。 多分他の関数から呼ばれているクラスだと思うため、クラス等をコメントアウトして調べたのですが、エラーがまだ出力されます。 (Data: < cmd.> 01 00 00 00 07 00 00 00 07 00 00 00 63 6D 64 2Eここは自作クラス上の問題だと思います。) newとかの解放はしているのですが、他にメモリリークをする原因ってあるのでしょうか?

  • 動的に確保したメモリをOSに返さなくてもよいのは

    動的に確保したメモリをfree命令で解放しても、メモリをOSに返さない実装があると聞きました。仮想記憶を実装するOSに多く見られるそうですが、なぜ返さなくてよい実装なのですか。

  • NT4.0仮想メモリの増やし方について

    撮影した画像をSonyのPicture_Gearというソフトを使って html形式アルバムファイルを作成したのですが、開くと仮想メモリ不足のエラーメッセージが表示されます。 「追加ページングファイルを作成するか、または現在のページングファイルのサイズを拡大できます」というエラー記述はどのような意味で、具体的にどのようにすればいいのでしょうか?またこちらのNTの仮想メモリ数の設定状況は、”選択したドライブのページングファイルサイズ”は 初期サイズ→128M、最大サイズ→178M、”最大レジストリサイズ”の項が、26Mとなっております。 Picture_Gearの説明書には、NTでこのソフトを動かすには、実装メモリ+仮想メモリで150M程度のメモリーが必要ということで、”選択したドライブのページングファイルサイズ”という項で、最大サイズを1000M位に設定し直して、再起動させたのですが、また同じエラーメッセージが出ます。最適にするのはどこをどう設定すればいいのでしょうか? ※ デジカメ画像の全容量は、16M位です。

  • 仮想メモリについて

    仮想メモリについて質問させていただきます 実装メモリが2GBのPCでゲームをやっているのですがそのゲームを裏に回した状態でいろいろ作業していたら 2GBでは足りなくなったので、仮想メモリを使おうと思い設定したいのですが こちらのURLに http://oshiete1.goo.ne.jp/qa3831375.html?ans_count_asc=1 >要はPF使用量が実装メモリを超えなければ大丈夫です。 >タスクマネージャで時々チェックして下さい。 と、あるのですがPF使用量が実装メモリを超えると何か問題なのでしょうか? 2GBあるから、+1GBあれば十分かなと最小最大とも1024MBに設定したのですが 仮想メモリが少なすぎますとシステムに怒られてしまいました やはり仮想メモリは実装メモリの1.5倍必要なのでしょうか? それとも、このシステムの警告は無視して大丈夫でしょうか?

  • タスクマネージャーで物理メモリの合計が実装より少ないのは?

    タスクマネージャーで 物理メモリの合計 が 実装より少ないのはどうして? メモリ4G(4096MB) 実装してますが タスクマネージャー パフォーマンスで見ると 4094 と 少ないのは 一部メモリが壊れているからでしょうか? メモリチェックしてもエラーは出ないのですが ちょっと気になります。

  • 仮想メモリについて

    システムのプロパティ→パフォーマンスオプションから仮想メモリを0にしたにもかかわらずタスクマネージャーを見てみるとページフォルトに数字が入っています。 1Gメモリを搭載しておりコミットチャージは400Mいかないぐらいなのでメモリで全て処理できるのではないかと思うのですが、これはメモリが足りなくなっている状態があると言う事なのでしょうか?

  • 本日メモリを増設しました。メモリの差込口が4つあるのですが、

    1と3に500メガをそれぞれ差し込み、 2と4に1ギガをそれぞれ差し込み合計で3メガくらいになっています。 タスクマネージャで具合を見てみると、 パフォーマンスのメモリのグラフで1.2GBくらいから 上昇しません。 これでいいんでしょうか? メモリを差し込む方法でベターな方法があったりしますか? 例えば1と3のほうに1GBのメモリを差し込んだほうがいいとか…

  • 仮想メモリ不足のエラーの回避方法

    WindowsNT Embedded(NT4.0 SP5相当)を使用しています。 ディスクの容量を増やすことができないため仮想メモリを64MBぐらいで使用したいのですが、仮想メモリ不足が発生しエラーが表示されてしまいます。 (ディスクは320MBしかありませんので、OS,APを入れると仮想メモリをなしとして計算しても空き容量は80MBぐらいしかとれません) ちなみに実メモリは130MB、仮想メモリは推奨139MBです。 パフォーマンスは犠牲にしても良い場合に、エラーを出さない方法を知っていましたら教えていただきたいのですが? また、この場合パフォーマンス以外に問題になることはありますか? 他に、方法を知っている方がいましたら回答をお願いいたします。