Per-thread CPU breakdown
Per-thread CPU%, find the hot TID inside a busy process for jstack/perf
pidstat -t -p <pid> 1
- tool
- troubleshooting32 commands
More troubleshooting commands
-
top -H -p <pid>Live per-thread view; convert hot TID to hex (printf %x) to match jstack nid
-
mpstat -P ALL 1Per-core %usr/%sys/%iowait — spot a single saturated core vs balanced load
-
vmstat 1 5 | awk 'NR>2{print "runq="$1" blocked="$2}'; nprocvmstat r column (runnable) above nproc means CPU saturation, not just high load
-
ps -o nlwp= -p <pid>; ps -eLf | wc -lThread count per pid and system-wide; runaway threads exhaust kernel.pid_max
-
while sleep 5; do ps -o rss= -p <pid> | awk '{print strftime("%T"),$1/1024"MB"}'; doneSample RSS every 5s to confirm a real leak (monotonic growth) vs steady churn