Monthly Shaarli

All links of one month in a single page.

February, 2023

Walmart Node.js Memory Leak | Joyent

He found that the more HTTP client requests he did, the more memory his Node process would consume, but it was really slow.

[...] Then I ran Node with UMEM_DEBUG set to record various important information about the memory allocations

[...] Every hour, it grabbed the output of pmap -x and a core file and stored those in Joyent Manta

[...] In MDB there's a particularly helpful command ::findleaks that will show you the memory addresses and the stack traces for leaked memory, not unlike using valgrind, but without all the performance penalty.

[...] At this point we knew that we were looking for something in v0.10 that called MakeCallback but that didn't first have a HandleScope on the stack. I then worked up this simple DTrace script.