Reputation: 479
my nodejs process which was running at Linux, now it is hang and the CPU is 100%. Is there anyway I can do to debug it and find the reason? Do I need to collect dump and how? Thanks.
Upvotes: 23
Views: 21208
Reputation: 6336
For me the why-is-node-running package was not very useful since I had an infinite while loop.
I wish there was a tool that will detect infinite loop all around the project.
What solve for me the issue was to manually reverse some versions of my project and to manually re-add the code I deleted, until I found out what cause my application to hangs, as I said, a infinite while loop.
Upvotes: 3
Reputation: 60885
There's an npm module called why-is-node-running that can give you info like:
There are 4 known handle(s) keeping the process running and 0 unknown
Known handles:
# Timer
/Users/maf/dev/node_modules/why-is-node-running/example.js:6 - setInterval(function () {}, 1000)
/Users/maf/dev/node_modules/why-is-node-running/example.js:10 - createServer()
# TCP
/Users/maf/dev/node_modules/why-is-node-running/example.js:7 - server.listen(0)
/Users/maf/dev/node_modules/why-is-node-running/example.js:10 - createServer()
# TCP
/Users/maf/dev/node_modules/why-is-node-running/example.js:7 - server.listen(0)
/Users/maf/dev/node_modules/why-is-node-running/example.js:11 - createServer()
# Timer
/Users/maf/dev/node_modules/why-is-node-running/example.js:13 - setTimeout(function () {
Upvotes: 19