动机:使用节点将大约 10GB 到 50GB 的文件从客户端传输到服务器
问题:消耗大量内存有时达到 6GB 左右并且系统挂起
我想要的是:我的代码不应使用超过 200mb 的 ram..
我在做什么:当内存使用量达到 200 mb 时,我暂停流媒体
预期:当 RAM 使用量达到 200 mb 时,我将暂停流数据,并在使用量下降时恢复流数据。
发生了什么:当使用量超过 200 MB 时我会暂停,但它不会恢复,因为即使脚本暂停,RAM 使用量也不会下降。
客户端.js
var net = require('net'),
fs = require('fs'),
path = require('path');
socket = new net.Socket();
socket.connect(6000, 127.0.0.1);
socket.on('connect',function(){
// I am reading around 10 gb of file in chunks
var readStream = fs.createReadStream("File Name", {highWaterMark: 16384});
// Checking ram usage every second to ensure it does not …Run Code Online (Sandbox Code Playgroud)