2011-08-22 3 views
9

Firefoxの場合(私はFirefox 4以降)、about:memoryページがあります。私がC/C++の動的メモリ管理に精通しているとしても、私はそのページの読み方を本当に知りません。Firefox "about:memory"を読むにはどうすればいいですか?

about:memoryは、JavaScript /フロントエンド開発者として、ECMAScriptやDOMスクリプトで作成されたメモリリークを検出/検出するためのより良い方法を提供したいと考えていました。私はWindows 7とMac OS X Snow Leopardシステムでテストしています。

だから私はいくつかの質問を持っていますし、うまくいけば、誰かがそれらに答えることができます(わからない場合は推測しないでください)。

  • Windows 7の違いは、win32/privatebytesMemory in useです。

これは本当に私を悩ます。重いECMAScript/DOM操作をしている場合、前者の値は無限に増加するように見えます。対照的に、Memory in useは "小さく"なっています。 ここで本当に興味深いのはどれですか? win32 privatebytesは、タスクマネージャに表示されるのと同じ値です。

  • Memory mappedMemory in useの違いは何ですか?

私はこの1つについてかなりの間グーグルをしています。一部の人は、使用中のメモリのどれくらいが断片化しているかを示しています。それは具体的にはどういう意味ですか?それはメモリリークの直接の指標ですか?

誰かがほとんど値のほとんどを説明できない場合(または私が見つからなかったリソースをリンクする場合)、私はうれしいです。しかし、私にとって最も興味深いのは、win32のプライベートバイトとブラウザのメモリ使用量の大きな違いです。 Max OS Xは、これらの値と同等のものを持っていないようです。これは基本的に異なるメモリ管理システムのためです。

+1

Firefoxを更新する必要があります。言及されたカテゴリはもはやFirefox 6には存在しません。リストは分かりやすくなっています。 –

+0

@ウラジミール:確かに。 FF6ははるかに明確にします。 – jAndy

答えて

1

あなただけの、実際に使用するメモリを気にしなければなりませんブラウザによって。メモリ断片化などのために、OSレベルで割り当てられるメモリは常に増えますが、それは実際にはブラウザ開発者だけが考える必要があるものです。再現性のある病理学的な動作が見られる場合 - Mozillaのバグをファイルします(最小化されたテストケースが必要です)。しかし、それ以外には、あなたのコードが解放されないオブジェクト(使用されたメモリによって可視)を保有していないことを確認するだけでよい。

新しいバージョンのabout:memoryで「マップされたメモリ」が新しい名前で表示されるかどうかはわかりません。私はあなたがそれに気を付けるべきではないと確信しています。これは、アドレスが割り当てられているメモリの量であり、OSレベルでは面白いことです。

1

このmozillaのブログは非常によくそれを説明するように思われる、とされていない場合、その後、あなたが知っているだろう誰かの連絡先の詳細を持っている:

http://blog.mozilla.com/nnethercote/2011/05/23/a-better-aboutmemory-stage-1-75/

+0

良いリソースありがとう。しかし、そこに表示されているビューについては混乱していますが、少なくともFF5とはかなり違って見えます。これらの「暗黙的」および「明示的」allocはかなりいいですが、私の見解ではここでは見えません。 – jAndy

+0

Ahhはい、それは残念です - 特にFF4というビューがありました。私は現地でのインストールをFF5にアップデートしました。 [詳細]リンクをクリックするとヘルプが表示されますか? –

+0

しかし、ブログのポスターは、この新しいビューが以前の2つのツリーの組み合わせであることを示していますが、完全なヒープは表現されていますが、彼はまた、重要なOSレベル割り当てのためにいくつかのメモリレポーターを追加するつもりです。 –

0

スレッドのタイトルで、一般的な質問に答えると、いないように見える具体的な質問は、解決される:。

  • ホバーあなたが興味を持っている測定彼らはいくつかの説明とツールチップを持っています。
  • 詳細に興味がある場合は、対策の背後にある(バグジラの)ディスカッションを読むことが時折明るくなることがあります。
    議論を見つけるには、mozillaコードで小節名を検索します。 http://mxr.mozilla.org/mozilla-central/search?string=heap-dirtyをクリックし、「Hg Blame」リンクを選択し、メジャー名のあるラインの前のリンク(<user>@<revid>のように見える)をクリックして、チェンジセットリンク(changeset NNNNNN a6b3a22fbca7など)をクリックし、バグのリンクをクリックします。