当前位置: 首页 > wzjs >正文

佛山外贸网站建设精英鸣蝉智能建站

佛山外贸网站建设精英,鸣蝉智能建站,建筑设计文字说明,dw网页制作图片🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…

🍓 简介:java系列技术分享(👉持续更新中…🔥)
🍓 初衷:一起学习、一起进步、坚持不懈
🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏
🍓 希望这篇文章对你有所帮助,欢迎点赞 👍 收藏 ⭐留言 📝

🍓 更多文章请点击
在这里插入图片描述在这里插入图片描述

文章目录

  • 一 、Linux中jar部署CPU问题查看
    • 1.1 查看CPU使用情况
    • 1.2 查看线程级别的CPU使用情况
    • 1.3 将10进制线程ID转为16进制
    • 1.4 使用jstack获取堆栈信息
      • 1.4.1 直接查看
      • 1.4.2 下载查看
  • 二 、Docker 中部署的java程序CPU查看
    • 2.1 思路分析
    • 2.2 首先查看CPU实时占用情况
      • 2.2.1 top 查看cpu占用率
      • 2.2.2 docker stats查看Docker容器的cpu占用率
    • 2.3 使用 docker inspect 命令(获取指定容器的详细信息)
    • 2.4 打印进程下所有线程的占用情况
    • 2.5 找到主进程PID问题后,进入对应java容器
    • 2.6 抓取对应线程堆栈信息
      • 2.6.1 直接查看
      • 2.6.2 下载查看

一 、Linux中jar部署CPU问题查看

1.1 查看CPU使用情况

top会按CPU使用率排序,帮助快速定位问题进程

top

在这里插入图片描述

在这里插入图片描述

1.2 查看线程级别的CPU使用情况

top -Hp <PID> -H 选项显示线程信息 -p 指定进程ID

top -Hp <PID>
例:
top -Hp 112285

类似这种,具体线上问题,根据自己项目进行排查

在这里插入图片描述

1.3 将10进制线程ID转为16进制

printf '0x%x\n' <线程id>

1.4 使用jstack获取堆栈信息

1.4.1 直接查看

jstack 进程号 | grep nid=0x+16进制线程号 -A 100

1.4.2 下载查看

那么咱们就可以直接通过以下命令打印线程堆栈

jstack <进程id> >> jstack_out.txt
例如:
jstack 1 >> jstack_out.txt
jstack <进程id> >>jstack_out.txt

二 、Docker 中部署的java程序CPU查看

2.1 思路分析

主要思路就是定位到是哪个进程导致的cpu飙升,然后通过进程号追踪具体的线程。docker命令是为了查出具体哪个容器导致的问题,然后进入容器内部调用jvm相关命令导出堆栈信息。在堆栈信息中查找之前获得的线程相关信息,就能定位到具体的问题了

2.2 首先查看CPU实时占用情况

2.2.1 top 查看cpu占用率

会按CPU使用率排序,找到cpu最高的进程id是否为java容器进程PID

top

2.2.2 docker stats查看Docker容器的cpu占用率

docker stats 
docker stats <容器id>

2.3 使用 docker inspect 命令(获取指定容器的详细信息)

docker inspect <容器id>

在这里插入图片描述找到容器中CPU占用率高的PID是否为top中的进程PID

2.4 打印进程下所有线程的占用情况

查找进程PID占用率高的线程

top -Hp 128720

CPU占用率最高的线程编号为(十进制),然后转化为16进制

printf '0x%x\n' <线程id>

查看cpu那一列,找到异常数据为100%的那一行,并记录

2.5 找到主进程PID问题后,进入对应java容器

进入cpu占用高的docker容器查看容器中具体进程cpu占用率

docker exec -it <container_id> /bin/bash

在容器中使用 top命令或者 jps 命令查看CPU占用情况
我的容器内部没有top命令,这里使用jps进行查看进程情况
在这里插入图片描述

1就是指的当前运行java服务的进程PID。

2.6 抓取对应线程堆栈信息

2.6.1 直接查看

jstack 进程号 | grep nid=0x+16进制线程号 -A 100

2.6.2 下载查看

那么咱们就可以直接通过以下命令打印线程堆栈

jstack <进程id> >> jstack_out.txt
例如:
jstack 1 >> jstack_out.txt

需要下载的话,可以使用 docker cp到宿主机上

docker cp <container_id>:/path/in/container /path/on/host

在这里插入图片描述
在这里插入图片描述

把以上jstack_out.txt下载到本地,通过文本工具打开,结合【第2.4步】获取的线程信息,结果定位到具体的线程堆栈。查找代码问题自行修改

文章持续更新…

在这里插入图片描述在这里插入图片描述

http://www.dtcms.com/wzjs/156700.html

相关文章:

  • 南昌it制作电商网站的公司seo经典案例
  • 网站如何做整合营销游戏推广文案
  • 专做网页的网站对网站和网页的认识
  • 网站建设 的公司哪家好互联网营销师题库
  • 深圳市地图福建企业seo推广
  • 网页设计与制作教程第二版知识点总结seo外链优化方法
  • 陕西网站建设优化建站百度一下就知道
  • 北京免费网站建站模板百度游戏app下载
  • 湘潭市建设局网站网络安全有名的培训学校
  • 香港网购网站seo 论坛
  • 建设网站主机免费版网站收录提交
  • 模板wordpress演示站怎么做杭州seo靠谱
  • 网站建设资质网络推广靠谱吗
  • 精品资源共享课网站建设今日头条官网登录入口
  • 网站营销推广策划方案杭州全网推广
  • 怎么样做网站视频大连网站搜索排名
  • 深圳做电商平台网站建设友妙招链接
  • 连云港网站关键字优化如何公司网站制作公司
  • 网站建设报告论文宁波网络推广运营公司电话
  • 软件公司网站模版平台如何做推广
  • wordpress 上传功能搜索关键词排名优化技术
  • 宿州政府网站建设谷歌优化培训
  • 怎样在工商局网站上做变更谷歌排名网站优化
  • 检查色盲效果网站seo外包公司兴田德润官方地址
  • 网站建设文案怎么设计推广赚钱软件排行
  • 电商企业有哪些做seo推广一年大概的费用
  • 业务网站建设seo教程书籍
  • 想制作一个网站要多少钱新浪体育nba
  • 出售域名的网站网推团队
  • 网站 关键词库 怎么做西安百度推广开户运营