当前位置:   article > 正文

java mbean获取堆信息_快速获取java中的内存和线程信息(MBean)

threadmxbean 获取线程内存

在排查线上问题的时候,我们经常使用jstat、jstack、jmap查看GC、内存、线程的信息,但是有时候我们需要获取一个整体的信息来帮助我们快速定位,类似linux中自带的top命令,简单而全面的系统信息,在网上找了些资料,发现之前有人写了个jtop的工具,能够全面获取java应用的信息,一看作者,原来是阿里的同事,原理是使用了java中的MBean,借这个机会,把MBean的东西简单了解一下。

首先这个工具如何使用:wget https://hatter-source-code.googlecode.com/svn/trunk/jtop/jtop.jar

Usage:

java-jar jtop.jar[options][[]]-OR-java-cp jtop.jar jtop[options][[]]-sizeSize,caseinsensitive(default:B,Hforhuman)-threadThreadTopN(default:5)-stackStacktraceTopN(default:8)-excludesExcludes(string.contains)-includesIncludes(string.contains,excludes than includes)--colorDisplaycolor(default:off)--sortmemSortbymemory allocted(default:off)--summaryoffDonotdisplay summary(default:off)

(1)直接运行jtop.jar获取的信息(sudo -u admin  /java -jar jtop.jar pid   内存、线程、GC、高CPU占用线程的栈信息)

0818b9ca8b590ca3270a3433284dd417.png

如果想把大小的信息,换算成M或者其他,可以用另外一种方式

sudo -u admin  java -cp  jtop.jar  jtop -size M  PID

(2)查看占用CPU前三的线程栈信息(sudo -u admin java -cp jtop.jar jtop -thread 3 -stack 50 --summaryoff  PID)

0818b9ca8b590ca3270a3433284dd417.png

(1)一些概念

A、MBean

通常是一个java类,它提供接口可以使这个类具有管理功能(如standard MBean,接口中定义的方法使MBean具有管理功能)。

B、MBean server

是管理MBean的一个java类,你需要向MBean server注册一个MBean后,这个MBean才会具有管理功能,MBean server还提供了查询功能和注册监听器的功能,sun提供的只是接口,不同的jmx实现中的MBean server实现也不同。

Mbean有四种常见类型:A、standard MBean;B、dynamic MBean;C、open MBean;D、model MBean

重点介绍一个standard MBean 和dynamic Mbean

standard MBean:这种类型的MBean最简单,它能管理的资源(包括属性,方法,时间)必须定义在接口中,然后MBean必须实现这个接口。它的命名也必须遵循一定的规范,例如我们的MBean为Hello,则接口必须为HelloMBean。

dynamic MBean:必须实现javax.management.DynamicMBean接口,所有的属性,方法都在运行时定义

(2)根据JDK提供的MBean获取信息

1、工厂类获取各个MBean:ManagementFactory

2、内存信息MBean:MemoryMXBean

3、线程信息MBean:ThreadMXBean,可以重点关注dumpAllThreads,把所有的线程信息down下来,然后自己进行运算

4、gc情况信息MBean:GarbageCollectorMXBean

ManagementFactory.getGarbageCollectorMXBeans()获取的是gcMbean的数组

0818b9ca8b590ca3270a3433284dd417.png

5、类加载Mbean:ClassLoadingMXBean

​​

0818b9ca8b590ca3270a3433284dd417.png   ​

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/58824
推荐阅读
相关标签
  

闽ICP备14008679号