The part of node that is single threaded is the JS execution. All of the async calls like I/O and most system calls are handled by a combination of a thread pool and the OS's scheduler.
If your app mostly just passing data around and not doing a lot of processing on it then it is certainly a possibility that you are saturating the CPU cores with these other operations.
Another contributing factor could be native add-ons, which have direct access to the thread pool and can run their own threads for out-of-band execution. Examples would be performing crypto operations or database query serialization and deserialization.
And just to cover all the bases, you didn't actually say that it was your node process that was using the CPU. Unless you're looking at a docker container, your system is going to have many other processes running on it at the same time which could be monopolizing the other cores.
~Ryan
--
Job board: http://jobs.nodejs.org/
New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+un...@googlegroups.com.
To post to this group, send email to nod...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/be8cae17-841e-47e6-b74e-68ed3a151480%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
~Ryan