sql >> Database >  >> NoSQL >> MongoDB

Grote Javascript-objecten verwijderen wanneer het geheugen bijna leeg is

delete in javascript wordt NIET gebruikt om variabelen te verwijderen of geheugen vrij te maken. Het wordt ALLEEN gebruikt om een ​​eigenschap van een object te verwijderen. Mogelijk vindt u dit artikel op de delete operator goed gelezen.

U kunt een verwijzing naar de gegevens in een variabele verwijderen door de variabele in te stellen op iets als null . Als er geen andere verwijzingen naar die gegevens zijn, komt deze in aanmerking voor garbagecollection. Als er andere verwijzingen naar dat object zijn, wordt het niet uit het geheugen gewist totdat er geen verwijzingen meer naar zijn (bijvoorbeeld geen manier voor uw code om er bij te komen).

Wat betreft de oorzaak van de geheugenaccumulatie, er zijn een aantal mogelijkheden en we kunnen niet genoeg van je code zien om te weten welke referenties kunnen worden vastgehouden die de GC ervan zouden weerhouden dingen vrij te maken.

Als dit een enkel, langlopend proces is zonder onderbrekingen in de uitvoering, moet u de garbage collector mogelijk ook handmatig uitvoeren om ervoor te zorgen dat deze de kans krijgt om dingen op te ruimen die u hebt vrijgegeven.

Hier zijn een paar artikelen over het opsporen van uw geheugengebruik in node.js:http://dtrace.org/blogs/bmc/2012/05/05/debugging-node-js-memory-leaks/ en https://hacks.mozilla.org/2012/11/tracking-down-memory-leaks-in-node-js-a-node-js-holiday-season/ .



  1. Hoe kan ik een automatisch incrementeel veld op meteoor maken?

  2. activerecord en mongo / mongo-mapper bridge

  3. Groep en som volgens het positiepercentage MongoDb Aggregation

  4. MongoDB SSL met zelfondertekende certificaten in C#