V8エンジンのメモリ

、nodejsは、コンテンツの使用状況を表示します:

process.memoryUsage()

  

 

 単位はBtyeです 

変換関数:

たサイズ=関数(バイト){ 
              リターン(バイト/ 1024/1024).toFixed(2)+ 'MB'; 
        }。

  

heapTotal そして  heapUsed V8に代わってメモリ使用量。 

external 経営のV8の代理としては、メモリ使用量はJavaScriptをC ++オブジェクトにバインドされています。 

rss 常駐セットのサイズは、プロセスは、物理メモリヒープ、コードセグメント、およびスタックを含む物理メモリの数(総割り当てられたメモリの部分)に割り当てられています。

オブジェクト、文字列、およびヒープメモリに格納されている他の閉鎖。スタックメモリに格納された変数は、実際のソースのJavaScriptコード・セグメントは、メモリに格納されています。

 

第二に、ブラウザの表示

window.performance.memory

  

第三に、メモリの分布

 

新世代のメモリは、すなわち、リサイクルの使用であります: 

、置くために、生きているから変数から削除されたメモリから消去した後、これを交互に行う、メモリをクリアするために、堆積物から、生きている内の変数を削除します。

メモリ使用量の新しい世代が一定割合を超えるメモリの古い世代は、最初に古い世代に入金されました。

旧世代のメモリは、生きている各変数は死ん削除マークされ、その後、断片化された統合されます、メモリを思い付きます。

 

第四に、メモリの使用

1、グローバル変数を宣言しないようにしよう

2は、未定義またはnullに設定され、使用されたときにはもはや、グローバル変数を宣言していません

 

ファイブ間違い

クロージャはメモリリークを起こします

実際に、これは現在の新しいブラウザを含め存在しないV8でことわざを、IE5れるjavascript Definitive Guideのある、存在しません。

具体的には、比較するために、上記のメモリを使用する独自の方法を取得することができます。見つかったメモリには影響を閉鎖しません。

 

おすすめ

転載: www.cnblogs.com/muamaker/p/11695607.html