Concurrency & Symptom Finder

“Threads, async or processes?” and “why is my process slow, hung or dying?” — answer the questions and get a recommendation with the reasons the alternatives were rejected.

Start from the symptom the monitoring shows — high CPU, growing memory, a hang, a crash, `EMFILE`, or an idle box that is somehow slow — and let one or two observations (`top`, `ps`, `dmesg`, a stack dump) narrow it to the mechanism. Each leaf names what the OS is actually doing and the challenge that reproduces it.

Step 1
What is the headline symptom?

Pick the thing the alert said. top and ps -o pid,stat,pcpu,rss give you the next answer for almost every branch.