v0.10.4nodejs setTimeoutメモリリーク?
ここでは、増え続けるメモリ使用量になり、単純なループです:私は間違って何をやっている
function redx(){
setTimeout(function(){ redx() },1000);
console.log('loop');
}
redx();
は?
EDIT
OKは、単にスコープでタイムアウトオブジェクトを参照するために提案を試み、ガベージコレクションは、約40秒後でキックないと思われ、ここでTOPからログを省略しています:
3941ルート20を0 32944 7284 4084 S 4.587 3.406 0:01.32ノード
3941ルート20 0 32944 7460 4084 S 2.948 3.489 0:01.59ノード
3941ルート20 0 32944 7516 4084 S 2.948 3.515 0:01.68ノード
3941ルート20 0 33968 8400 4112 S 2.948 3.928 0:02.15ノード
3941ルート20 0 33968 8920 4112 S 3.275 4.171 0:02.98ノード
3941ルート20 0 33968 8964 4112 S 2.948 4.192 0:03.07ノード
3941ルート20 0 33968 9212 4112 S 2.953 4.308 0:03.16ノード
3941ルート20 0 33968 9212 4112 S 2.953 4.308 0:03.25ノード
3941ルート20 0 33968 9212 4112 S 3.276 4.308 0:03.35ノード
3941ルート20 0 33968 9212 4112 S 2.950 4.308 0:03.44ノード
信じられないほど、私は昨日自分自身を疑っていた。私の推測では、ノードは無名関数のクロージャを収集しないということです。 – dualed
お使いのオペレーティングシステムは何ですか? – dualed
私はこれをARCHでテストしています。 – crankshaft