...
如果某个线程的 %CPU 值很高(接近 100% 或更高),则说明该线程占用 CPU 很高。
PID | USER | PR | NI | VIRT | RES | SHR | S | %CPU | %MEM | TIME+ | COMMAND |
21978 | root | 20 | 0 | 16.3g | 4.2g | 18736 | S | 99.7 | 6.7 | 13:23.19 | java |
20562 | root | 20 | 0 | 16.3g | 4.2g | 18736 | S | 99.0 | 6.7 | 0:00.00 | java |
20563 | root | 20 | 0 | 16.3g | 4.2g | 18736 | S | 99.0 | 6.7 | 0:00.37 | java |
上述线程中有多个gc线程,以其中一个gc线程为例:
...
(如以下统计“http-nio-8080-exec”关键字的数量等于200次)
⚠️:此方法只适用于Tomcat配置默认protocol="HTTP/1.1"才会生效,这样配置走的是nio1的逻辑,会有为acceptor线程 和 poller线程,这2个线程都是http-nio开头的
然而如果Tomcat配置了protocol="org.apache.coyote.http11.Http11Nio2Protocol",则不能用此方法进行统计。
如果出现以下情况,则进入下一步:
- 线程信息中线程数量不等于中间件处理请求的线程数。
- 线程数量等于中间件处理请求的线程数但是有线程处于空闲状态。
...