找到占用CPU最高的Java线程[通俗易懂]

找到占用CPU最高的Java线程

大家好,又见面了,我是全栈君。

一、找到java进程id

jps查看当前运行的java进程id

[root@localhost ~]# jps
18354 Jps
9381 Bootstrap

二、找到内存和CPU占用最高的线程pid

1,使用命令top -p <pid> ,显示你的java进程的内存情况,pid是你的java进程号,比如123

2,按H,获取每个线程的内存情况

3,找到内存和cpu占用最高的线程pid,比如15248

4,执行 printf 0x%x 15248 得到 0x3b90 ,此为线程id的十六进制

# 查看java进程
top -p 9381
# 按H显示每个线程的内存
# 按M根据驻留内存大小进行排序
# 按P根据CPU使用百分比大小进行排序

# 打印线程ID的十六进制表示
printf 0x%x 9382
0x24a6

找到占用CPU最高的Java线程[通俗易懂]

按H显示每个线程的内存

找到占用CPU最高的Java线程[通俗易懂]

三、查看堆栈信息

5,执行 jstack 123|grep -A 10 3b90,得到线程堆栈信息中3b90这个线程所在行的后面10行

jstack 9381 | grep -A 10 24a6

6,查看对应的堆栈信息找出可能存在问题的代码

找到占用CPU最高的Java线程[通俗易懂]

转载于:https://my.oschina.net/yysue/blog/1648104

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107629.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • HTML—标签总结

    HTML—标签总结

    2021年10月2日
    41
  • Pycharm提示 Unresolved reference 的解决办法[通俗易懂]

    Pycharm提示 Unresolved reference 的解决办法[通俗易懂]有时候a.py和b.py在一个目录里面,但是在a.py种写importb有时会提示Unresolvedreference,Pycharm常见,解决办法是setting->Project->Projectstructure->Source,点击要加入的文件夹.注意:添加成功之后该文件见的图标会编程蓝色(加入之前是淡蓝色中间一个圆圈)如上图所示。…

    2022年8月27日
    2
  • anaconda python 版本对应关系

    anaconda python 版本对应关系本文更新于2019.11.18更新了今年的版本号 在表格中用括号备注了包含的python版本号Releasedate conda python2.7 python3.4 python3.5 python3.6 python3.7 python3.8 2015-02-25 3.4.3 …

    2022年5月8日
    145
  • IT界最伟大的十位人物「建议收藏」

    IT界最伟大的十位人物「建议收藏」美国《电脑周刊》最近评出了“IT界最伟大十位人物”,苹果公司创办人史蒂夫·乔布斯(SteveJobs)凭借着创新精神和在苹果的二次创业排名榜首。    世界首富的微软董事会主席比尔·盖茨仅排名第三位,不敌万维网(Web)发明人蒂姆·伯纳斯·李。巧合的是,三甲排名人物都是在同一年出生。    上榜的十位人物大多世界闻名,而且富可敌国。例如,盖茨已经

    2022年10月9日
    0
  • 机器学习算法(一)SVM

    机器学习算法(一)SVM支持向量机(supportvectormachines,SVM)是一种二分类模型,它将实例的特征向量映射为空间中的一些点,SVM的目的就是想要画出一条线,以“最好地”区分这两类点,以至如果以后有了新的点,这条线也能做出很好的分类。SVM适合中小型数据样本、非线性、高维的分类问题。SVM最早是由VladimirN.Vapnik和AlexeyYa.Chervonenkis在1963年提出,目前的版本(softmargin)是由CorinnaCortes和Vapnik在1

    2022年10月6日
    0
  • ios屏幕旋转设置_旋转平移和缩放

    ios屏幕旋转设置_旋转平移和缩放目录(?)[-]一如何设置AnchorPoint二如何获得AnchorPoint经常会遇到需求,要求手势的缩放或者旋转操作,要求动作变化围绕某一个特定点,或者是两指的中心点,或者是某一个点。这个问题首先要清晰的知道,iOS各个view的层次关系。特别是,要清楚的知道,当前view的frame与superView的bounds是一个坐标

    2022年10月8日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号