0

MSSQL クエリをループで実行し、各行を非同期に処理する NodeJS のスクリプトがありますが、スクリプトは数秒間実行した後、次のエラー メッセージでクラッシュし続けます。

Segmentation fault (core dumped)

MSSQL データベースに対してクエリを実行するために、退屈なモジュールと mssql モジュールを使用してみましたが、結果は同じです。データベースの相互作用を削除して、データベースの結果をハードコーディングすると、スクリプトがクラッシュすることはありません。クエリがメモリ リークを引き起こしているようです。ガベージ コレクションが発生したときにログに記録する次のモジュールを含めました。これは、スクリプトの開始時にのみ実行されます。

require('nodefly-gcinfo').onGC(function(usage, type, flags){
   console.log("GC Event Occurred");
   console.log("Heap After GC:",usage, type, flags);
});

どうすればメモリ リークを回避したり、ガベージ コレクションを実行したりできますか? クエリの結果を処理した後、"delete variableName" を呼び出してガベージ コレクションを強制しようとしています。

ありがとうございました。

4

1 に答える 1

0

このバグは、Nodejs バージョン 0.10.30 からバージョン 0.10.33 にアップグレードすることで解決されました。

apt-get upgrade nodejs
于 2015-01-12T15:05:37.447 に答える