`
san_yun
  • 浏览: 2608584 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

通过jmx查看thread死锁

 
阅读更多

ThreadMXBean tm = ManagementFactory.getThreadMXBean();
tm.setThreadContentionMonitoringEnabled(true);
long [] tid = tm.getAllThreadIds();
ThreadInfo [] tia = tm.getThreadInfo(tid, Integer.MAX_VALUE);

long [][] threadArray = new long[tia.length][2];

for (int i = 0; i < tia.length; i++) {
long threadId = tia[i].getThreadId();

long cpuTime = tm.getThreadCpuTime(tia[i].getThreadId())/(1000*1000*1000);
threadArray[i][0] = threadId;
threadArray[i][1] = cpuTime;
}


检测到如下线程问题:
Thread ID: 89
Thread Name: http-6080-Processor73
Thread State: RUNNABLE
Thread Lock Name: null
Thread Lock Owner Name: null
Thread CPU Time: 35678 sec
Stack Info: (depth:31)
+java.util.HashMap.get(HashMap.java:303)
+com.netqin.baike.server.nqrs.CloudSecurityCommand.writePkgsLog(CloudSecurityCommand.java:466)
+com.netqin.baike.server.nqrs.CloudSecurityCommand.execute(CloudSecurityCommand.java:153)
+com.netqin.baike.server.BaikeServer.service(BaikeServer.java:64)
+sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source)
CPU占用时间达到 35678秒 ,到下午到了50000秒左右,tomcat的CPU占用达到了200%
分析代码,发现是单例bean中使用了 hashmap 作为类对象,多线程访问时 类成员hashmap并不是线程安全的 非单例,引起了问题。更正代码后,几个月没有发现问题

来源:http://shenguanpu.blogbus.com/logs/159954429.html
分享到:
评论

相关推荐

    通过jmx监控管理weblogic

    JMX(Java Management Extensions)是SUN创建的一套规范。BEA WebLogic Server实现了JMX大部分的API,并且提供了一个完全兼容JMX的控制台来管理各种资源。OPEN SOURCE的应用服务器JBoss也是基于JMX来实现。并且对之评价...

    Zabbix通过JMX方式监控java中间件

    Zabbix通过JMX方式监控java中间件 Zabbix2.0添加了支持用于监控JMX应用程序的服务进程,称为“Zabbix-Java-gateway”;它是用java写的一个程序。 工作原理: zabbix_server想知道一台主机上的特定的JMX值时,它向...

    JMX实战 JMX开发

    JMX实战 书中不仅有对于基础知识的介绍,还有对于JMX开发中重大的体系架构问题的深入探讨,总结了大量JMX开发中的设计模式,并讨论了框架、安全性与性能等等。书中提供了几个典型的例子,兼顾各种开发平台,这些...

    jmx入门

    为什么JMX那么受欢迎,JMX到底有那些优势只得人们去学习和理解,本文从JMX的基本架构、hellowold jmx以及spring对JMX的支持讲起,希望大家能通过本文对JMX有个基础的认识,并能通过本文为今后学习JMX打个基础

    jmx一步步来 jmx快速上手指南

    jmx快速上手 jmx快速上手 jmx快速上手 jmx快速上手

    Zabbix通过JMX监控java中间件.docx

    Zabbix通过JMX监控java中间件.docx

    Fiddler导出jmx文件

    Fiddler导出jmx文件,解决Fiddler导出文件中 没有jmx文件选项,各个版本fiddler都适用

    亲测可用 com.sun.jmx. jmxri-1.2.1.jar

    Description Resource Path Location Type Missing artifact com.sun.jmx:jmxri:jar:1.2.1 pom.xml /eshop-storm line 2 Maven Dependency Problem

    jmx-jvm配置

    jmx配置

    JBoss JMX实现架构

    JBoss JMX实现架构 JBoss JMX实现架构

    jmx 实例 rmi mbean

    jmx 实例 rmi mbean,采用rmi方式进行jmx的mbean管理,通过这个实例能够了解jmx的应用

    JMX小例子以及介绍

    JMX小例子以及介绍 JMX小例子以及介绍 JMX小例子以及介绍

    jmx监控tomcat测试包

    catalina-jmx-remote.jar放到tomcat/lib目录下 如果是windows版本,编辑TOMCAT_HOME/bin/catalina.bat,在开头加入下面几行: set CATALINA_OPTS=%CATALINA_OPTS% -Djava.rmi.server.hostname=JMX_HOST set CATALINA...

    Jmx实例demo下载

    java实现Jmx实例,jmxdemo项目源码下载

    JMX与JMS的概念

    JMX与JMS的概念

    JMX一步一步来,快速学会开发JMX应用

    JMX一步一步来,从最基本的应用开始入手,快速应用开发。

    jmx介绍和使用

    jmx的简单介绍和使用,包含一些简单的代码示例,看完基本能了解jmx并使用。

    Hbase和Hadoop JMX监控实战

    Hbase和Hadoop JMX监控实战

    JMX 在GlassFish中的应用

    jmx和jmx在glassfish中的应用

    JMX学习,开发文档

    有关JMX学习的一些文档,对初学JMX的朋友有帮助.

Global site tag (gtag.js) - Google Analytics