CNode

读写大文件导致内存溢出(FATAL ERROR: CALL_AND_RETRY_2 Allocation failed - process out of memory)

Lliuff1988发布于12 年前最后回复12 年前2 回复8705 浏览0 收藏

菜鸟请教各位,下面的代码有问题吗?有没有另外一种可能,服务器网速慢,读写速度不一致导致内存溢出呢?

self._init(filePath, function() {
                var config = self.config;
                resp = self.resp;
                fReadStream = fs.createReadStream(filePath, {
                    encoding : 'binary',
                    bufferSize : 1024 * 1024,
                    start : config.startPos,
                    end : config.fileSize
                });
                fReadStream.on('data', function(chunk) {
                    resp.write(chunk, 'binary');
                });
                fReadStream.on('end', function() {
                    resp.end();
                });
            });

查看回复

回复 (2)

T
tomgor#1·12 年前

流式处理一般不会导致内存溢出,就怕异步调用导致的循环嵌套太深会导致内存溢出,

M
MiguelValentine#2·12 年前

请检查闭包。

参与回复
登录后即可参与回复。登录