我在NodeJS中有一个脚本,它在一个循环中运行MSSQL查询,并异步处理每一行,但是在运行几秒钟之后,脚本会一直崩溃并显示以下错误消息:
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”来尝试强制进行垃圾回收。
谢谢。
答案 0 :(得分:0)
通过从Nodejs版本0.10.30升级到版本0.10.33来解决此错误。
apt-get upgrade nodejs