How can I tell if NUMA is enabled on a MongoDB server?
Solution 1:
dmesg | grep -i numa
This will tell you if your server is numa enabled.
numactl -s will tell you if numa is enabled on a per process basis.
If production nodes shouldn't use numa, then you probably shouldn't. I would suggest rather than relying on turning it off via numactl, you can and probably should usually turn numa off completely via BIOS.
I've seen numa completely crap up server performance before with other Java applications when I was doing some performance tests. To see it screw up a C/C++ app like Mongo is surprising!
I'd like to disclose that your original issue, is different from your question. Changing the numa settings might not solve your 100% cpu issue. You might find after eliminating the numa card, you still have 100% cpu usage, which will require more diagnostics to get to the root of the problem (separate thread maybe).