我正在使用util模块调试nodejs应用程序,而heapUsed值保持在30-100MB左右,heapTotal值增长到1.4GB.
我已经读过这是v8垃圾收集器的行为方式,但问题是如果在512 MB设备上运行,如何减少它分配的内存量(使其小于1.4GB)
我想知道如何销毁缓冲区以释放内存.
我有下面的代码,它创建一个缓冲区并将其作为响应发送.这很好但是当我玩一个像75000行一样的大数组时,我可以看到我的内存占用了1Go,没关系但是当发送响应时,这个内存保存而不是免费的......我试着设置var buffer为null在脚本的末尾,但没有任何附加...是否有解决方案来释放这个记忆?
var xlsxexport = require('node-xlsx');
module.exports = {
exportExcel: function (req, res) {
var excelData = []
// ...
// Construction of the array excelData
// ...
var buffer = xlsxexport.build([{name:'export', data:excelData}])
res.set 'Content-Type', 'application/vnd.openxmlformats'
res.set 'Content-Disposition', 'attachment; filename=' + filename
res.send buffer
}
}
Run Code Online (Sandbox Code Playgroud)