我有以下简单的程序:
const fs = require("fs");
const time = Date.now();
const file = fs.createWriteStream('./test.txt');
let written = true;
file.on('drain', function () {
written = true;
});
const interval = setInterval(function () {
if (Date.now() - time > 10000) {
clearInterval(interval);
}
if (written) {
written = file.write(new Array(1000000).join('z'));
console.log(Math.floor(process.memoryUsage().rss / (1024 * 1024)));
}
}, 100);
并记录以下内存消耗:
29 38 48 58 67 77 86 96 105 115 125 134 144 153 163 173 182 192 201 211 220 230 240 249 259 268 278 287 297 307 316 326 335 345 355 364 374 383 393 402 412 422 431 441 450 460 470 479 489 498 508 518 527 537 546 556 565 575 585 561
87 97 25 35 44 25 35 44 25 35 44 25 35 44 25 35 44 25 35 44 25 35 44 25 35 44 25 35 44
正如您可能看到的那样,它正在增长到561 MB
,但下降到87 MB
然后停留在下面100 MB
。这里会发生什么?