2012-11-10 24 views
16

私はWebGLプロジェクトでいくつかのメモリ使用量テストを実行しています。私がGoogle Chromeでページを開始し、Developers ToolのProfilesタブでヒープスナップショットを取ると、私のページが7.5 MBを保持していると言えます。Chromeヒープスナップショット - 割り当てられたすべてのメモリが表示されないのはなぜですか?

問題は、タスクマネージャを調べると、使用している実際の価値はほぼ1 GBです!私は本当にページに何千ものオブジェクトが存在することを強く望んでいるので、それは期待されますが、なぜChromeは7.5MBしか使用していないと私に教えてくれるのですか?

+0

Chromeのプロセスは、プラグイン、タブ、メインのChromeサービスに広がっています。あなたは正確に何のスナップショットが欲しいですか? – TheZ

+0

@TheZ私が本当に知りたいのは、私のページが使用しているメモリ量です。 –

+0

http://crbug.com – gman

答えて

12

更新

あなたのネイティブメモリグラフを表示することができたネイティブメモリのスナップショットがありました。 残念ながら、それは脆弱なコードであったため、削除しました。 数百のクラスで重要な機器を必要とし、バイナリサイズに影響を与えました。 後で再実装することを願っています。

は、それはJavascriptヒープのスナップショットを取る

ました。すべてのあなたのJavaScriptオブジェクトは7.5MBを使用します。このサイズには、画像、キャンバス、オーディオファイル、プラグインデータなどは含まれません。

DevToolsにはネイティブメモリスナップショットがあります。 レンダラプロセスで使用される非JavaScriptメモリを数えますが、これは実験的な機能です。

chrome://flagsでDevTools実験機能を有効にする必要があります。ブラウザを再起動し、DevTools設定パネルでネイティブメモリプロファイラの実験的機能を有効にして、DevToolsを再度開きます。

これらの手順をすべて実行すると、プロファイラパネルでネイティブメモリスナップショットを取得できます。 ネイティブメモリヒープ内のすべてのメモリチャンクがカウントされているわけではありませんが、私たちはそれに取り組んでいます。

Canary version of Chromeをご利用ください。 毎日更新され、他のバージョンのChromeと並行して動作します。

あなたのページが1ギガバイトのメモリを占有しており、10%〜20%以上の大きな「その他」バーを持っている場合は、Google Chrome Developer Tools Foumsにそのメールをドロップしてください。

+0

でバグを報告する必要があります残念ながら、Googleは実験的な開発ツールからネイティブのメモリスナップショット機能を削除しました。どうしてか分かりません。しかし、この答えはもう有効ではないことを意味します:/ – UpTheCreek

+0

ネイティブメモリグラフを表示できるネイティブメモリスナップショットがありました。残念ながら、それは脆弱なコードなので削除しました。何百ものクラスで重要な機器を必要とし、バイナリサイズに影響を与えました。後でそれを再実装することを願っています。 – loislo

+0

更新ありがとうございます - 私はもはや賞金を授与することはできませんが、+1を持っているように見えます! – UpTheCreek

-1

プロファイルタブでスナップショットを撮って、テイクヘッドスナップショットをクリックすると、詳細なメモリ使用状況の統計が得られます。

+0

shapshotsはヒープを表示します。問題が述べるように、問題はChromeタスクマネージャに表示されるメモリ使用量を分析することですが、ヒープには表示されません。 – UpTheCreek

関連する問題