如何定位java進(jìn)程cpu占用過高
如何定位java進(jìn)程cpu占用過高,分三步走
- 根據(jù)cpu消耗,打印出pid進(jìn)程里的所有線程
ps -mp [pid] -o THREAD,tid,time | sort -rn | more
- 找到對(duì)應(yīng)cpu最高的線程的tid纺蛆,將它轉(zhuǎn)換成16進(jìn)制
printf "%x\n" [tid]
- jstack搜這個(gè)線程危尿,看堆棧
jstack -l [pid] | grep -C 20 "[tid]" | more