查看JAVA占用CPU高的线程日志
2024-08-27 15:26:23
# . 查看主进程占用cpu高
top
# java # . 按照线程占用cpu由高到低进行排查:
ps -mp -o THREAD,tid,time | sort -rn |head - # USER %CPU PRI SCNT WCHAN USER SYSTEM TID TIME
# root 1.6 - - - - - - ::
# root 0.1 - futex_ - - ::
# root 0.1 - futex_ - - ::
# root 0.1 - futex_ - - ::
# root 0.0 - skb_re - - :: # . 将线程号转化为16进制:
printf "%x\n"
6e7 # . 通过主进程搜索所有的线程执行的内容
# 注意点:
# 项目运行的用户
# 使用的jdk版本下的jstack去查看
flag="0x"
sudo -u root /opt/jdk1..0_191/bin/jstack |grep ${flag}6e7 -A ### 将整个流程写成脚本,查找tomcat占用CPU高的线程日志
pid=$(ps -ef|grep tomcat|grep -v grep|awk '{print $2}'|head -)
flag="0x"
jstack="/opt/jdk1.8.0_191/bin/jstack"
for tpid in `ps -mp ${pid} -o THREAD,tid,time | sort -rn |head -|awk '$8 ~ /[0-9]+/ {print $8}'`
do
tpid_16hex=$(printf "%x\n" ${tpid})
echo "------------------------------------- tpid:[ ${tpid} ] -----------------------------------------------------"
sudo -u root ${jstack} ${pid} |grep ${flag}${tpid_16hex} -A
done
最新文章
- C#小程序呢飞行棋设计分析
- C# 浅谈委托----温故而知新
- 截断WM_SYSCOMMAND的SC_CLOSE命令(VC与Delphi双版本)
- QQ微信刷屏助手 FlashScreenAssist 1.2发布
- git中常用的指令
- SpringCloud学习之eureka集群配置
- mysql 基本语句
- iSlide——智能图表的用法
- 解析ArcGis的标注(二)——认识ArcGis标注标签
- python 迭代器生成
- canvas离屏技术与放大镜实现
- oracle 变量练习
- MetaMask/provider-engine-3-test
- Majority Element问题---Moore's voting算法
- 使用STC-ISP向KEIL添加STC芯片头文件
- 【转】“菜”鸟理解.NET Framework(CLI,CLS,CTS,CLR,FCL,BCL)
- 【FusionCharts学习-3】显示中国地图
- 初试Shell脚本
- 百度地图sdk问题 error inflating class com.baidu.mapapi.map.mapview
- 判断手机访问还是pc访问