//線上cpu負載太高 問題排查java
1.安裝jstack線程
yum install -y java-1.8.0-openjdk-devel-debugdebug
2.使用top命令 查詢進程佔用cpu最高的pid。日誌
shirft +p進程
3.查詢佔用cpu最高進程中的 子進程test
top -H -p pid 取出第一位的 子進程號subPidjdk
4. 打印出 該進程號 的 16進制。bug
printf '%x\n' subPidgrep
xxaayum
5.在jstack 進程堆棧日誌中 找到 線程(或子進程)的位置, 打印出先後30行。
jstack pid | grep xxaa -C 30
或者 jstack pid | grep -A 30 xxaa
6.定位問題和解決方案。
根據打印的堆棧日誌,能夠快速定位問題。
7.也能夠將堆棧日誌 輸出到文件
jstack pid >> test.txt