2014-11-06 22 views
9

Sto avendo qualche perdita di memoria nel mio codice. così ho preso l'istantanea della memoria usando il nodemodule heapdump. usando heapdump ho riparato qualcosa quindi va bene. Ma perché la dimensione del buffer delle stringhe è ancora troppo alta e continua ad aumentare?node.js heap dump della memoria, perché la memoria String è troppo alta?

Ho allegato screenshot della memoria heapdump per il mio componente. la dimensione del file heapdump è 139 MB, quindi non posso allegare qui. Non so che cosa altre informazioni voi ragazzi dovete aiutare in questo ...

String memory list

Overall memory list

+0

Sto avendo lo stesso identico problema, non l'hai mai risolto? – iksose

+0

Non ancora completamente ma avvicinandosi. posterò una volta che avrò la soluzione completa. – balaphp

+0

Queste stringhe nello screenshot sono le funzioni che racchiudono tutti i file necessari() '. Dal momento che sono anonimi, ogni modulo richiesto ottiene il proprio. Mi chiedo, comunque, perché non vengano rilasciati. Quale versione di Node.js stai usando? Stai usando JS nativo o un linguaggio compile-to-js (CoffeeScript, TypeScript ecc.)? –

risposta

0

Il modulo memwatch potrebbe contribuire a fornire un po 'più chiaro. Essa vi permetterà di sottoscrivere leak eventi

memwatch.on('leak', function(info) { 
console.error('Memory leak detected: ', info); 
}); 

Avere una lettura di this tutorial che fa un grande lavoro di spiegare come individuare le ragioni per le perdite di memoria a nodo.