Quted od What do the return values of node.js process.memoryUsage() stand for? RSS to rezydentny rozmiar zestawu, część pamięci procesu przechowywana w pamięci RAM (ile pamięci jest przechowywane w pamięci RAM przez ten proces w bajtach) rozmiar pliku z 'text.txt' użytego w przykładzie jest tutaj to 370KB (378880 bajtów)wykorzystanie pamięci procesowej węzła, rozmiar zestawu rezydentnego stale rosnący
var http = require('http');
var fs = require('fs');
var express = require('express');
var app = express();
console.log("On app bootstrap = ", process.memoryUsage());
app.get('/test', function(req, res) {
fs.readFile(__dirname + '/text.txt', function(err, file) {
console.log("When File is available = ", process.memoryUsage());
res.end(file);
});
setTimeout(function() {
console.log("After sending = ", process.memoryUsage());
}, 5000);
});
app.listen(8081);
Więc na aplikacji bootstrap: { rss: 22069248, heapTotal: 15551232, heapUsed: 9169152 }
Po zrobiłem 10 wniosek o '/ test' sytuacja jest:
When File is available = { rss: 33087488, heapTotal: 18635008, heapUsed: 6553552 }
After sending = { rss: 33447936, heapTotal: 18635008, heapUsed: 6566856 }
Więc z app boost do 10nth żądanie rss jest zwiększone o 11378688 bajtów, co jest mniej więcej razy większe niż rozmiar pliku text.txt
.
Wiem, że ten kod spowoduje buforowanie całego pliku data.txt w pamięci dla każdego żądania przed zapisaniem wyniku z powrotem do klientów, ale spodziewałem się, że po wypełnieniu żądania zostanie zajęta pamięć dla "text.txt". wydany? Ale tak nie jest?
Po drugie, jak ustawić maksymalny rozmiar pamięci RAM, którą może wykorzystać proces węzła?
, więc skomentowałem część 'fs.readFile' i były to logi, 1-sza referencja' Po wysłaniu = {rss: 31162368, heapTotal: 18862880, heapUsed: 10961672} '10th req' Po wysłaniu = {rss: 31596544, heapTotal : 18862880, heapUsed: 11393584} 'który jest podobny do 424kb, całkiem okablowany, również szukam odpowiedzi. EDYCJA: znalazłem http://stackoverflow.com/questions/16441601/node-express-memory-crease-on-every-request –