• ベストアンサー

こういうのはメモリーリークに該当しますか?

0.9x時代から、ながいことMozilla Suiteを愛用しています。 ところで、ながいこと、Mozillaで困った現象が「どうやら私の環境だけで?」発生します。 画像数の多いホームページを見たり、写真が添付されたメールが続いたりすると、システムの空きメモリーがぐんぐん減ります。 で、画像のないホームページへリンクで移ったり、メールの写真整理が終わって、何時間経っても減ったメモリーが元に戻りません。 Mozillaが起動しているあいだじゅうはキャッシュのつもりで保持されるのかなあ?とも思って、Mozillaを一旦クローズしてみました。 一旦クローズすると、消費メモリーが戻るには戻るのですが、たいがいは半分程度しか戻ってくれません。 (100回に1、2度の割り合いで、ごっそり元通りにメモリーが回復することもたまにあります) 半分しか戻らないメモリーで、再度Mozillaを起動して使っていると、すぐにメモリーは使い切ってしまい、システムが不安定になります。 (多分本当なら、スワップされてシステム不安定は回避される建て前のはずだと思うんですが) あんまり気になるので、Bugzillaに報告をしてみましたが、書き方が不適切でとんちんかんだったのだと思います、全然誰にも相手にして貰えませんでした。 (;;) 私はプログラミングのことがまだよくわからないので、いろいろな「又聞き」でメモリーリークなのかと思い込んでいたのですが、このような現象のことは、何と言えばよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.4

まずメモリ管理しているのは基本的にはOSです。 ですからプログラムの話というよりはos2の話のだと思います。 windowsやlinuxは、プロセスに対し仮想メモリ空間を与え 実際の物理メモリを直接割り振るわけではありません。 その為、プロセス終了時にはそのプロセスに割り当てられた メモリがすべて開放されます。 プロセス終了時のメモリリークは無いつくり になっているのです。 os2がどういう仕組みなのかはわかりません。もし そうでない仕組みならmozillaが開放しないのかもしれません。 >プログラムの常識論としてはメモリーリークが起きる場合、解放されず使い果たされた物理メモリーの代用として、 スワップが代理でフォローしてくれるものでしょうか? まずスワップというのはメモリーが使い果たされたときにはじめて使うわけではありません。 それにスワップの仕組みもOSに依ります。 アプリケーションプログラマはスワップの仕組みを意識してプログラミングはしません。 それにスワップ領域も物理メモリもいっぱいになれば、プロセスはメモリを確保できなくなります。 プロセスがメモリを確保できないとき、どういう挙動をするかはプロセスのプログラムに依ります。 >リークが起きてしまったら、スワップに移動することは出来なくなるのが普通でしょうか? 結局OS内部の話です。 こっちに質問したほうが早いかも http://www.os2.jp/

altosax
質問者

お礼

どうもありがとうございます! >結局OS内部の話です。 なるほど、だからBugzillaでは誰にもとりあってもらえなかったということですね。 理由がはっきりできてすっきりしました。 os2.jpで何年か前に尋ねたことがあったのですが、そこでも誰も他の人の環境では起きていないとのことでしたので、「メモリーリーク」という言葉の意味を一から学んでみようとおもい、こちらで相談してみました。 とりあえず、ビデオドライバが異端児である心当たりがたしかにありますので、まずはこの線から見直してみようと思います。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • joe-
  • ベストアンサー率34% (11/32)
回答No.3

不具合の度合いがすごいですね。 OSごと持っていかれているということですね。 ぜんぜん自信はありませんが、何らかのハードウェアが故障している場合に同様の不具合が発生する事があると思われます。 個人的にはメモリかHDDあたりが怪しいのではないかと思います。 例えば、ある程度メモリを消費しないと触らないような領域が壊れていた場合、Mozillaなどの大量にメモリを消費するアプリケーションを使うと壊れた場所を使ってしまい、OSごとご臨終という事が発生します。 HDDに関しても似たような可能性があります。例えば、SWAP領域に割り当てられている箇所が壊れている場合、大量にメモリを消費してSWAPを触ってしまってOSがご臨終という可能性があると思われます。 もし、交換可能なメモリでテストができるのであれば、メモリを交換してみて同様の問題が発生するかどうか見てみると良いかも知れません。 全部、推測でぜんぜん自信はありませんが、不具合の度合いからMozillaの問題ではないような気がします。 Mozillaの不具合としてありえるとすれば、OS2の何らかのシステムコールかドライバがバグっていてMozillaがたまたまそれを使ってしまってOSの動作をとめてしまうなどがあるかもしれませんが、、、

altosax
質問者

お礼

すみません、書き忘れてしまいました。 今回の私のケースは非常な特殊論なのかもしれませんが、それはさておいて、 ごくごく一般的にプログラムの常識論としてはメモリーリークが起きる場合、解放されず使い果たされた物理メモリーの代用として、スワップが代理でフォローしてくれるものでしょうか? それとも、一度メモリーリークが起きると、スワップは働かなくなるのが当然の常識論になりますでしょうか?

altosax
質問者

補足

大変御親切に親身のアドバイスを沢山ありがとうございます。 これが不思議なんです。 一台のマシンをos2とwinでマルチブートにしてあるのですが、同じハードウエアでありながらOS2でのMozillaだけで発生するトラブルなので頭をいためています。 それなら元気に動くWindowsでいつも使えばよい所だと思うのですが、海外からの受信が多く、ウイルス付きのメールとそうでないメールが差出人で容易には判別しきれずフィルター設定も困難なので、うっかり開いても安心なOS2でメールをはじめとする対外的なネット接続の窓口にしている、という状況です。 また、永年OS2形式で作成してしまったデータの蓄積が膨大にあるので、それらを考えるとなかなか移行が進まない状況でもあります。 >OS2の何らかのシステムコールかドライバがバグっていて どうも、その線が濃厚かもしれないですね。 そういえば心当たりとしては、MatroxのOS2ビデオドライバが非常に特殊だという話を思い出しました。 描画が崩れてOSが総崩れに向かう局面を考えると、ビデオカードを他のものに取り替える事で治ってくれる可能性もあるかと思ってみました。 ちょっとこの線で検討してみようと思います。 どうもありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • joe-
  • ベストアンサー率34% (11/32)
回答No.2

何となく、Mozillaとは関係の無いところで問題が発生しているか、問題があると思っているだけのどちらかである可能性があると思われます。 (もちろん、本当にMozillaに問題があるという可能性もあります) Mozillaを終了してもメモリが戻らないという事でしょうか? Mozillaを終了した後にプロセスは残っていますか? 一般的に、プロセスが終了するとそのプロセスが利用していたメモリは全てOSによって強制的に解放されるので、メモリリークしていてもプロセスを終了してしまえば関係ないはずです。 ただ、例外もあって共有メモリを利用している場合には残ってしまいます。 あと、Mozilla以外を使っている場合は発生しないですか? OSは何ですか?プロセスを終了するのはOSなので、OSの種類によっても答えがかなり変わってくると思います。 OSに入っているファイルシステムは高速化のために大抵キャッシュを行うので、そのために見かけ上メモリが減っているように見える場合が多いですが、プロセスによるメモリの確保が必要になったら自動的にファイルキャッシュは解放されるのが一般的です。 あと、最後に、不安定とは具体的にどうなるのでしょうか?

altosax
質問者

補足

はじめまして、joe-さん、どうぞよろしくおねがいします。 >何となく、Mozillaとは関係の無いところで問題が発生しているか、問題があると思っているだけのどちらかである可能性があると思われます。 #1のご回答でもご指摘いただいた通りOS側に問題がある可能性が濃厚かもしれませんね... >Mozillaを終了してもメモリが戻らないという事でしょうか? はい、そうです。 他のOSでMozillaを試すと、スレッドが終了するごとにメモリ開放しているように残量計では見えましたが、OS2だけは握ったメモリが開放されません。 >Mozillaを終了した後にプロセスは残っていますか? これは重症になるとプロセスが残ってしまって、killコマンドが必要になってしまいます >メモリリークしていてもプロセスを終了してしまえば関係ないはずです。 そうですよね。 ところがkillしても100%はメモリーが戻らないことがほとんどです。ごくたまにごっそり戻ってくれることがあり、そんな時は疑問と喜びと半々で複雑な気持ちになります。 (100%という単語は、モジラ起動前のメモリ残量と同等にならない、という程度の意味とお受け取り下さい) >ただ、例外もあって共有メモリを利用している場合には残ってしまいます。 なるほど、共有メモリー利用という可能性も視野に必要だったんですね! これは例えばMozillaファミリーの別アプリを複数起動しているような場合のことになりますでしょうか? (今の所はSuiteしか使っていませんので、モジラ関連の共有DLLなどは他のアプリが使う可能性はないと予想しています) >あと、Mozilla以外を使っている場合は発生しないですか? はい、使うアプリの数に限りが有るのでなんとも言えないのですが、Mozilla以外でメモリ開放されずに困った事は一度だけ、「メモリーリークの不良がありました」とアナウンスのあったアプリで経験したことがあります。 >OSは何ですか?プロセスを終了するのはOSなので、OSの種類によっても答えがかなり変わってくると思います。 そうですよね、OS2warp4です。FIXパックと新カーネル入れ替えは最新に努めていますが、元バージョン自体は3世代前のv4.0です。 >プロセスによるメモリの確保が必要になったら自動的にファイルキャッシュは解放されるのが一般的です。 そうですよね。 さらには、物理メモリーがゼロになってもスワップが効いてくれて、みかけ上は重大被害は被らないでよいはずの建て前ですもんね。 どうもスワップが実行されないまま、システムが被害を受けているような経過のように画面上では見えています。 >あと、最後に、不安定とは具体的にどうなるのでしょうか? 具体的にはグラフィック表示が停止した後に、一見、シェルが落ちたような状態になります。 (グラフィックが停止するので、その時点でのメモリー残量計の針の動きはもう見る事が出来ない状態です) 通常のシェル落ちだと、しばらくしてまた復帰してくれますが、メモリーリークの時は(Mozilla以前に他のソフトで経験した時も同様に)シェルの復帰ができないまま再起動が必要になります。 そして、トラップエラーなどの表示も何も出る余地がありませんので、何が起きているのか原因をつかむのが非常に困難です。 メモリーリークの一般論として、リークが起きてしまったら、スワップに移動することは出来なくなるのが普通でしょうか? それとも他の現代OSではメモリーリークが起きてもスワップの範囲内で吸収することができますでしょうか? どうぞよろしくおねがいします。

全文を見る
すると、全ての回答が全文表示されます。
  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.1

メモリリークに類する現象のように思います。ただし、質問の文章のみからでは、次の点を確認することができません。 1. Mozilla起動中に「システムの空きメモリーが減る」という現象が、Mozillaがメモリを使用する(システムに対して要求する)ことによって発生しているのか否か。 ※ファイルキャッシュ等の用途でシステムが自主的にメモリを使用しているのか、それともMozillaがメモリを使用しているのか。 2. Mozilla起動中に、Mozillaに割り当てるメモリが際限なく増えているのか否か。 ※Mozillaにメモリリークがあるのか否か。 3. Mozilla終了時に、Mozillaに割り当てられたメモリが100%開放されているか否か。 ※システムにメモリリークがあるのか否か。 4. Mozilla終了時に、システムがMozillaのために使用していたメモリが100%開放されているか否か。 ※Mozilla/システムのいずれか、あるいは両方にメモリリークがあるのか否か。 ファイルキャッシュ等の用途でシステムが自主的にメモリを使用することがある(特にWindows 2000/XPではその傾向が著しい)ので、空きメモリの増減だけでは「誰がメモリをどれだけ使用しているのか」を特定することはできません。 これを特定するためには、メモリ監視用の開発者向けツールを使用する必要があります。もし興味がおありでしたら、その手のツール(umdh.exe)の使い方の解説が 「Umdh.exe を使用してメモリ リークを検出する方法」 http://support.microsoft.com/kb/268343/ja にありますので参照してください。 なおumdh.exeの最新版は 「Debugging Tools for Windows」 http://www.microsoft.com/japan/whdc/devtools/debugging/default.mspx に入っています。解説の中で使われているumdh.exeは古いバージョンなので最新のものとは動作が一部異なりますが、基本的な考え方は変わりません。

altosax
質問者

お礼

いつも大変お世話になります! これはちょっと今の私のレベルでは切り分けする方法がわからないのですが、「自分で思った範囲」では、こんな受け止め方をしています。 >※ファイルキャッシュ等の用途でシステムが自主的にメモリを使用しているのか、それともMozillaがメモリを使用しているのか。 >※Mozillaにメモリリークがあるのか否か。 Mozilla以外の大量メモリー喰いソフト(グラフィックビューワ-等)では、スレッドが終了した時点で逐次開放してくれているのをメモリー残量計で確認できるんです。 ∴モジラだけに問題がありそうだ、と踏んでみました。 >※システムにメモリリークがあるのか否か。 ははあ、なるほど、こういう線も考えないといけなかったんですね! OS2warp4だけでこのトラブルが発生しています。 心配だったのでWindows98とMacOS9で試した所はきちんとメモリ開放してくれました。 OS2のカーネルは適宜最新版に入れ替えて使っていますので、そのせいでシステム側に問題があるかもしれないですね・・・(しかしこの現象に気付いてから3、4年間、最新カーネルに何度か換える機会がありましたが変化なしでした) >※Mozilla/システムのいずれか、あるいは両方にメモリリークがあるのか否か。 どうも根深い厄介な問題が潜んでいそうですね・・・ Mozilla以外のアプリでメモリーが解放されない例が今の所無いので、組み合わせの一つ、としては確かだと思いますが、システム側が治れば全てが治る、となると調べるのが大変になりそうです。 Mozilla側のバージョンは安心優先にしたいのでRCかマイルストーン版しか使った事が有りません。 カーネルが古かった頃は、強制メモリー開放ツールを適宜動作させてしのいだのですが、ここ数年のリビジョンだと開放ツールが動作できなくなり、リセットしか方法がなくなってしまいました。 しかしこの現象がほぼ「メモリーリーク」と表現してよい状態、とわかって安心出来ました。 また少し文面を考え直してBugzillaに挑戦してみたいと思います。 本当にいつも御親切にどうもありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • メモリーリーク

    最近、メモリーリークエラーが出るんですが、何で出るんでしょうか? 対策法とかないんでしょうか? メモリーリークが起こると、再起動しないといけないみたいで面倒です。 最悪いくつまでメモリが返されないと不安定になったり動かなくなったりするんでしょうか? 僕のは最近は4つエラーが出ます。 宜しくお願いします。

  • メモリーカードに移した写真をデジタルカメラで見るには

    メモリーカードに移した写真をデジタルカメラで見るには この間友人のホームページに載っていた写真をマイピクチャに保存しました。 デジタルカメラで写真を見ることが多いので、 その画像をUSBメモリーカードに移すところまではできたのですが、 その画像はデジタルカメラでは見ることができませんでした。 パソコンの画像をメモリーカードに移し、さらにそれをデジタルカメラで見るには どうしたらよいのでしょうか><? 回答お願いいたします。

  • 教えてください、メモリーについて。

    あるソフトが何分後かランダムで固まってしまいます。 しかも、そのソフトの一部は操作が聞くのに、それ以外の一部のソフトの画面のボタンを押して小窓をだしたりすると、その小窓だけ操作することができなくそのままになったりします。 そして一度再起動、もしくはソフトを再起動しなくてはいけません。 集中していても、そのせいで集中が途切れ、なにかとハラがたつのでどうにかしたいとおもっています。 やはりメモリーが問題でしょうか?それはなら上策はメモリー増設ですよね? それ以外で中策、下策というように他になにかありませんでしょうか? PCはXPで、システムのコントロールパネルでパフォーマンス重視にはしています。 ブラウザなどなにも開いてなくても、メモリー238が空き領域90とかになったりしています。 一体半分以上もメモリーをなににシステムは使っているんでしょうか? 無駄に使ってるメモリーなどありそうな気がしますが、それでどうにかなりませんでしょうか? ちなみにタスクバーの右下の小窓には ノートン、フレッツ接続ツール、インターネット接続の表示みたいなの、音、キーボードの設定ぐらいです。 どうかよろしくおねがいしたします。

  • メモリー内をデータを一掃するには?

    PCでデータベースやら表計算ソフトを常時起動させてあり、PCのスイッチも常時入れっぱなしで毎日使っております。このような使い方を毎日続けていると、大体一、二ヶ月に一回位の割合で、システムが不安定になり、印刷できなくなったり等の不具合が生じます。ただそんな時も、PCを再起動させると、必ず直ります。多分、メモリー内で何らかの不具合が生じ、PCを再起動させて、いったんメモリー内をリフレッシュさせることにより、不具合が直るものと推測しますが、ただ必ずPCを再起動させねばならないので、いろいろ困っています。PCの電源を切らずに、メモリー内をいったんリフレッシュさせる方法は無いのでしょうか?どなたかお詳しい方、教えて下さい。よろしくお願いします。

  • メモリー増設したらこんな画面になってしまった

    メモリーを4GB→8GBにしました。最初は起動しても画面が真っ黒のままで何も反応しなかなかったので、再びメモリーを取り出して奥まで差し込んだらちゃんと起動しました。 しかし、先ほどパソコンを起動したら画像のような画面になってマウスポインタも何も動かずこの画面のままフリーズしてしまいました。仕方なく強制終了して、再び起動したら今度は普通に使えました。システム情報でメモリーは8GBと表示されており、パフォーマンスも5.9→7.4にアップしました。これはメモリーの相性が悪いのでしょうか?アイ・オー・データかバッファローにした方がいいんですかね。 パソコンの型番はソニーのVPCL218FJ/WIです。 メモリーはこちらの商品を使っています。 http://kakaku.com/item/K0000269645/

  • メモリースティックの中の画像のサイズ変更

    こんにちは。 デジカメの写真をパワーポイントに載せるために、画像を1/5くらいにサイズを変更しました。 しかし、誤って、その変更後の画像を元のメモリースティックの中の写真に上書き保存してしまいました。。。 元の大きくて綺麗な写真を取り戻す方法ってないでしょうか… ちなみに、デジカメ自体のプレビューで変更後のサイズの小さい写真を見ようとすると、 ?表示できません? と出てきます。 サイズを元に戻して表示させてみようとしましたが、変わらず表示出来ませんでした。 サイズを戻すと画像がめちゃめちゃ汚くなるから、それで表示されないんですかね…? この小さい画像のままでデジカメには表示されなくても、お店プリントは出来ると思いますか?? わかる方回答宜しくお願い致します。

  • USBメモリー内の空になったファイルを削除できない。

    USBメモリー内の空になったファイルを削除できない。  整理のために、USBメモリーに保存しておいたいくつかのファイルを他のUSBメモリーに移動し、元の空になったファイルを削除しようとすると、下のような文字が出てしまいます。 『ファイル'Thumbs'はシステムファイルです。システムファイルを削除すると、Windowsまたは他のプログラムが正常に機能しなくなる可能性があります。 完全に削除しますか? Thumbs 種類:Data Base file サイズ ○○○KB 更新日時:2009/02/30 24:62  』   5~6年前のUSBメモリーではこうしたことはなかったのですが、最近買ったUSBメモリーにはこうした現象が起きてしまい、削除して空になっても次々にこうした不要のファイルが増えてしまって困っています。  どうしたらこうした現象は防げるのか、また「完全に削除をする」を選んで実行したら、パソコン全体の機能がだめになってしまうのでしょうか。

  • メモリースティックが・・・・。

    PCはSONYのPCG-FX33V/BPです。 デジカメ(サイバーショットDSC-P2)で撮った画像をPCに取り込めなくなりました。 今までアダプターにメモリースティックを差してスロットに入れると、 自動でファイルが開いたのですが、突然「ドライバはこのプラットフォームではありません」と出て認識しなくなりました。一度、ドライバーを削除し再起動しても同じ現象です。デジカメとPCをUSBケーブルで繋ぐと正常に画像を開くことができます。何が原因なのでしょうか。アダプターの故障でしょうか?

  • やはり相性問題?メモリーの問題??

    いつもお世話になっています<m(__)m> この度メモリーを増設したのですが、起動時に画像添付の画面になり 再起動となります。 でも毎回ではありません。その日中に再起動した場合はなりません・・・ 翌日の朝に起動すると、8割以上の確率でなります。 何回か再起動後、うごくようになりますが、スリープ後に動かしたり 単にIE9を開いたりするだけで、このブルー画面になります。 とりあえず構成    CPU  :  i7 870 2.93GHz マザーボード:  ギガバイトP55A-UDR メモリー(初め):CFD DDR3  PC3-10600 CL9 2G*2枚 Graphics : NIVDIA GeForce GT 240 OS用に(インテル)X25-M Mainstream SATA SSD SSDSA2MH080G1 データ用にHDDが3台ほど(2T) OS      : Windows7 64bit 電源:     80ブロンズのもの500Wくらい のメモリーをCFD DDR3  PC3-10600 CL9 4G*4枚にしてみたら現象発生!! 2枚セットを2セット購入したので、その相性かと思い2枚(8G)セットのものにしてみても同じ 違うセットにしても同じ・・・ 元の2G*2枚にしたら大丈夫! この2G*2枚と4G*2枚の12Gが今なのですが、やはり8割ほど起動時不安定になります。 無理やり強制終了し、起動すると結構大丈夫なんです・・・ しかし壊れそうな気がして・・・ これはメモリーだけの相性問題でしょうか?? それともほかの問題あり?? その他パーツの相性でしょうか??? 自作をかじった程度の知識しかないです。 一通り組直したりしましたが、変わらないのでここで助言をと今に至ります。 時間はかかりますが、いじくるのは好きな方です! もしよい方法とかあれば教えていただきたいです! 最後に文章が苦手で申し訳ないです。 お願いいたします。  

  • シャットダウン時のコンピュータ内部の動作について

    システムをシャットダウンすると、コンピュータ内部では どういう順番(シーケンス)で、何が起きるのでしょうか。 システムをシャットダウンするとは、コンピュータにとって、 どういう処理をするプロセスなのでしょうか。 なぜ、使用していたメモリを解放するのでしょうか。 メモリリークを防ぐための、設計上の理由でしょうか。 そうだとしたら、メモリーリークを防ぐために、 シャットダウンしたときにメモリーを解放する。みたいな 説明が書いてある書籍や、URLをご存知の方、 いらっしゃいましたら、ご教授お願いします。 ソフト的な分野も絡むので、カテゴリをOSにしようか 迷いましたが、私が知りたいのは、特定のOSに偏った ものではなく、システム全般に言える、コンピュータに とっての再起動の意味です。 以上 よろしくお願いします。

接続できないPT-P710BT
このQ&Aのポイント
  • P-touch Design&Print 2のアプリを使用した時、接続が出来なくなりました。以前は接続・印刷出来ていました。
  • お使いの環境はAndroidで、接続はbluetoothです。
  • 関連するソフト・アプリは特にありません。電話回線の種類はひかり回線です。
回答を見る