Secondo il mio monitoraggio dei server, il mio utilizzo della memoria è strisciante nel corso del tempo:Node.js perdita di memoria, nonostante costante Mucchio + RSS dimensioni
Dopo ~ 4 settimane di tempo di attività, esso finisce per causare problemi/crash (che ha senso, dato che sono su EC2 con istanze m1.large => 8 GB di RAM, e la RAM sembra aumentare a circa 1,5 GB/settimana).
Se si riavvia il node.js app, il ripristino utilizzo della memoria. Eppure ... che sto tenendo traccia del mio utilizzo della memoria tramite process.memoryUsage()
, e anche dopo ~ 1 settimana, sto vedendo
{"rss":"693 Mb","heapTotal":"120 Mb","heapUsed":"79 Mb"}
Che cosa mi manca? Chiaramente la perdita è nel nodo, eppure il processo sembra non esserne a conoscenza ...
State usando il modulo di cluster del nodo? Forse l'utilizzo della memoria segnalato appartiene a uno dei processi figli. Inoltre, hai verificato quale processo usa tutta la memoria usando ps/top? Quale versione di node.js stai usando? – samitny
Impossibile rispondere senza codice effettivo. Ma si può provare https://nodetime.com/ per scavare per perdita di memoria. È possibile riavviare i cluster con dimensioni rss elevate. Qual è la soluzione molto sporca. – egiray