Finding And Fixing Node.js Memory Leaks: A Practical Guide


Fixing memory leaks may not be not the shiniest skill on a CV, but when things go wrong on production, it’s better to be prepared!
After reading this article, you’ll be able to monitor, understand, and debug the memory consumption of a Node.js application.


Kévin Maschtaler

https://marmelab.com/blog/2018/04/03/how-to-track-and-fix-memory-leak-with-nodejs.html

In addition to this very good article , here are a couple of tipps how to enable remote debugging.

node –inspect=192.168.178.133:9229 yourapp.js

This will bind the debugger to a different IP address:port. Otherwise only LOCALHOST will be available

If you are using PM2

pm2 start –node-args=”–inspect=192.168.178.133:9229″ yourapp.js

Then open Chrome browser and navigate to chrome://inspect

Check “Discover network targets” and click “Configure”

Your application is ready for inspect


Remove Google Chrome ID

Locate the LocalState file in Documents and Settings\Profle Name\Local Settings\Application Data\Google\Chrome\User Data\

Open the file and search for “user_experience_metrics”

Remove the client_id and client_id_timestamp value. The entries should look like this after deleting the values.

“user_experience_metrics“: {
“client_id”: “”,
“client_id_timestamp”: ‚’’’’,

Save the file and make it read only.

When you restart Chrome, a new file is created “Local State.tmp” Proceed the same steps as described for the LocalState file.

That’s it


Chrome Clone Iron: The Browser of the future ?

In conjunction with the release of the new Chrome web browser, Google has also launched Chromium, an open-source software project that enables third-party developers to study, modify, extend, and redistribute the underlying source code of the Chrome browser.

Developers at SRWare immediately investigated the source code and created a Chrome clone named Iron. For a comparism of Iron and Chrome at privacy read this document.