歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> 學習Linux

Java高CPU占用原因排查

Java高CPU占用原因排查


Java高CPU占用原因排查


top命令發現某個進程占用了100%的CPU
這裡寫圖片描述
通過ps命令,進一步確定哪個進程出了問題
這裡寫圖片描述
再查看線程占用CPU的列表

# ps -mp PID -o THREAD,tid,time

這裡寫圖片描述
找到占用CPU最高的線程,查看TID,將其轉換為16進制格式

# printf "%x\n" TID

這裡寫圖片描述
而後查看堆棧信息

# jstack PID |grep 16進制TID -A 60

這裡寫圖片描述
這裡報錯是因為tomcat進程運行用戶為tomcat,而當前以root用戶查看堆棧信息
這裡寫圖片描述
因此切換為tomcat執行命令
這裡寫圖片描述

# sudo -u tomcat  jstack 32072 |grep 1541 -A 60
# sudo -u tomcat jstack -J-d64 -m 32072

本文永久更新鏈接地址:

http://xxxxxx/Linuxjc/1147435.html TechArticle

Copyright © Linux教程網 All Rights Reserved