2

これを実行する:

setInterval(function() {
    console.log(process.memoryUsage());
}, 1000);

メモリ使用量が絶えず増加していることを示しています。

{ rss: 9076736, heapTotal: 6131200, heapUsed: 2052352 }
... some time later
{ rss: 10960896, heapTotal: 6131200, heapUsed: 2939096 }
... some time later
{ rss: 11177984, heapTotal: 6131200, heapUsed: 3141576 }

なぜこれが起こるのですか?

4

1 に答える 1

2

プログラムはではありません。タイマーを実行し、メモリ使用量をチェックし、1 秒に 1 回コンソールに書き込みます。これにより、オブジェクトがヒープ内に作成され、ガベージ コレクションが実行されるまで、ヒープの使用量が増加し続けます。

それを手放すと、heapUsedガベージコレクションがトリガーされるたびに、最終的には元に戻るはずです。

于 2013-03-01T16:45:31.280 に答える