mio Node.js progetto che soffrono di memoria che perde, ho già impostato su NULL in chiusura, voglio dire, so che il codice come questo:identificare perdita di memoria di chiusura con memwatch nodi
var a = 0;
var b = 1;
var c = 0;
example_func(c, func(){
console.log(b);
});
Will causare perdite di memoria, quindi aggiungo del codice per impostare queste variabili su null;
var a = 0;
var b = 1;
var c = 0;
example_func(c, func(){
console.log(b);
a = null;
b = null;
c = null;
});
Ma ho ancora avuto perdite, quindi cerco di usare memwatch-node
di capire cosa c'è di sbagliato con il mio codice.
E il risultato mostra che closure
causando la perdita, ma non specificato abbastanza a bersaglio.
Ho il JSON come questo
{ what: 'Closure',
'+': 12521,
size: '520.52 kb',
'-': 5118,
size_bytes: 533016 },
E mi chiedo se avrei potuto ottenere i dettagli più specifici su cui chiusura è fuoriuscita.
Ho assegnato nome per tutte le chiusure, ma ancora non funziona.
Questo è un oggetto letterale. Di per sé, non ha nulla a che fare con la "chiusura", oltre ad avere una delle sue proprietà impostate sulla stringa "Chiusura", che potrebbe anche essere "Datsun Cherry del 1982". –
Quindi quale tipo di oggetto lo farebbe? Non ho impostato "chiusura" da solo. – bxshi
Sì, sono imbarazzato, posso vedere meglio di cosa si tratta adesso. Sono stato nella documentazione di memwatch ma non riesco a trovare la prova di una sezione 'what: 'Closure'' in un rapporto diff. [Questo] (https://hacks.mozilla.org/2012/11/tracking-down-memory-leaks-in-node-js-a-node-js-holiday-season/) indica che le perdite di chiusura sono segnalate ma non in quel modo. È un po 'confuso. –