`
lxiaodao
  • 浏览: 119791 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Linux下JAVA线程占用CPU高一点分享

阅读更多
上次分析系统中占用CPU高的问题,得到一些使用Java自身调试工具的经验,与大家分享。
(1)使用top命令找出占用cpu最高的JAVA进程PID:28174

(2)如下命令找出占用cpu最高的线程
top -Hp 28174 -d 1 -n 1
32694 root      20   0 3249m 2.0g  11m S    2  6.4   3:31.12 java           
       
28175 root      20   0 3249m 2.0g  11m S    0  6.4   0:00.06 java               
28176 root      20   0 3249m 2.0g  11m S    0  6.4   1:40.79 java               
28177 root      20   0 3249m 2.0g  11m S    0  6.4   1:41.12 java               
28178 root      20   0 3249m 2.0g  11m S    0  6.4   1:41.11 java               
28179 root      20   0 3249m 2.0g  11m S    0  6.4   1:41.33 java               
28180 root      20   0 3249m 2.0g  11m S    0  6.4   1:41.58 java               
28181 root      20   0 3249m 2.0g  11m S    0  6.4   1:40.36 java               
28182 root      20   0 3249m 2.0g  11m S    0  6.4   1:41.02 java               
28183 root      20   0 3249m 2.0g  11m S    0  6.4   1:40.96 java               
28184 root      20   0 3249m 2.0g  11m S    0  6.4   4:38.30 java               
28185 root      20   0 3249m 2.0g  11m S    0  6.4   0:00.46 java               
28186 root      20   0 3249m 2.0g  11m S    0  6.4   0:01.83 java               
28187 root      20   0 3249m 2.0g  11m S    0  6.4   0:00.00 java               
28189 root      20   0 3249m 2.0g  11m S    0  6.4   0:00.01 java               
28190 root      20   0 3249m 2.0g  11m S    0  6.4   0:49.01 java  


(3)打印占CPU最高JAVA进程28174的堆栈信息
/usr/java/jdk1.6.0_21/bin/jstack 28174 > /root/mss/41-100javathreaddump.txt


(4)占CPU最高线程32694换算成16进制到文档中寻找对应线程7fb6
"MSXMLProcessorThread" prio=10 tid=0x00002b469923a800 [color=darkred]nid=0x7fb6[/color] sleeping[0x00002b46b0200000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at com.adventnet.management.xml.MSXmlProcessor.listen(MSXmlProcessor.java:279)
        at com.adventnet.management.xml.MSXmlProcessor.run(MSXmlProcessor.java:264)
        at java.lang.Thread.run(Thread.java:619)

以上过程手工进行,虽然不如Jprofiler和java自带的可视化工具那么直观,但是能够解决问题!尤其是在不能使用远程调试工具的时候,能够提供最大的帮助。
分享到:
评论
1 楼 12278984 2014-08-14  
printf "%x\n" 49037

相关推荐

    Linux中使用Shell脚本查看Java线程的CPU使用情况

    线上Java应用,在业务高峰期的时候经常出现CPU跑高,需要查看实时的线程占用cpu情况,下面是一个很好用的脚本,可以快速导出每个线程的占用CPU情况,结合jstack日志,排查到具体的线程类名。 一、首先获得jvm的进程...

    linux java top分析

    获取当前jvm占用CPU的线程, 分析性能问题利器。

    linux查看cpu是否支持64位的方法

    查看cpuinfo中是否有lm,如果有lm表示支持64位,lm的意思是long mode,... 您可能感兴趣的文章:linux php-cgi.exe占用cpu 100%的一次排障之旅Linux shell脚本实现CPU预警Linux中使用Shell脚本查看Java线程的CPU使用情况

    Linux shell脚本实现CPU预警

    如果CPU占用率持续达到80以上则调用打印java线程占用率堆栈的脚本,见https://github.com/oldratlee/useful-shells/blob/master/show-busy-java-threads.sh,具体用法见他的github wiki! #!/bin/bash #cpu idle ...

    show-busy-java-threads

    上传到 linux线上服务器,执行 chmod -R 777 show-busy-java-threads 执行权限。 ./show-busy-java-threads 查看执行占用cpu偏高的 线程,方便我们排查定位。

    Java聊天室程序源码(毕业设计)

    具有速度快,高稳定性,占用系统资源少,用户界面友好等特点。 通过毕业设计,发现自己在理论研究和实际工作能力等方面都得到了提高,受益匪浅。同时在老师的指导和课题组同学的共同帮助下,及时总结研究成果,这些...

    飞机游戏java源码-DesignSystem:设计系统

    飞机游戏java源码桅杆 亚马逊在过去 1 小时内每秒销售的前 10 名产品建立 BookMyShow HashMap 上的 System.identityHashCode ...服务器中找到哪个线程占用了最大 cpu? 阅读更多: 最佳设计来源 分布式索引 M

    JProfiler入门教程

    2、监视占用CPU较多的方法 3、监视线程的阻塞与死锁 4、监视GC的耗时。 监视本地JVM(Windows): 需要安装JProfiler windows版本 监视远程的JVM(Linux): 客户端需要安装JProfiler windows版本 服务需要安装...

    xmljava系统源码-lspider:轻网蜘蛛系统

    多线程和并发网络通信,性能高,资源利用充分,单机可同时抓取数百站点并能保持cpu低占用 简易配置,指定待抓取站点列表和高质量种子链接即可自适应抓取扩散至整站,参考链接深度的广度优先遍历同时保证时新性 通过...

    新版Android开发教程.rar

    � Android 更像一款桌面环境为 Java 的 Linux 操作系统。有助于 Google 实现其 " 随时随地为每个人提供信 息 " 的企业战略。 HTC HTC HTC HTC Dream/G1 Dream/G1 Dream/G1 Dream/G1 具体配置 硬件 3.17 英寸 HVGA ...

    手机 pdf 阅读器

    MOTO-LINUX平台的手机上JAVA无法实现背景常亮功能,启用该功能后会闪屏,请勿再询问此问题了。 允许用户设置阅读时背景灯的亮度(对大部分NOKIA S40、SE、SAMSUNG手机有效,MOTO上无法实现) 修改跳转界面,左/右键...

Global site tag (gtag.js) - Google Analytics