写点什么

Arthas mbean(查看 Mbean 的信息)

作者:刘大猫
  • 2025-05-14
    黑龙江
  • 本文字数:14327 字

    阅读完需:约 47 分钟


@[toc]

二、命令列表

2.1 jvm 相关命令

2.1.10 mbean(查看 Mbean 的信息)

使用场景

mbean 命令是 arthas 提供的一个重要命令,它可以用来查看和操作 Java MBeans(管理 Beans)。MBeans 是 Java Management Extensions (JMX) 的一部分,允许你监控和管理 Java 应用程序的运行时行为。


参数说明:


举例 1:列出所有 Mbean 的名称:

基本用法:mbean


[arthas@11200]$ mbeanjava.lang:type=MemoryPool,name=Metaspacejava.lang:type=MemoryPool,name=PS Old Genjava.lang:type=GarbageCollector,name=PS Scavengejava.lang:type=MemoryPool,name=PS Eden SpaceJMImplementation:type=MBeanServerDelegatejava.lang:type=Runtimejava.lang:type=Threading
复制代码

举例 2:查看 Mbean 的元信息:

基本用法:mbean -m java.lang:type=Threading


[arthas@11200]$ mbean -m java.lang:type=Threading NAME                   VALUE                                                                                                                                                                                                           ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- MBeanInfo                                                                                                                                                                                                                               Info:                                                                                                                                                                                                                                   ObjectName             java.lang:type=Threading                                                                                                                                                                                         ClassName              sun.management.ThreadImpl                                                                                                                                                                                        Description            Information on the management interface of the MBean                                                                                                                                                             Info Descriptor:                                                                                                                                                                                                                        immutableInfo          true                                                                                                                                                                                                             interfaceClassName     com.sun.management.ThreadMXBean                                                                                                                                                                                  mxbean                 true                                                                                                                                                                                                             MBeanAttributeInfo                                                                                                                                                                                                                      Attribute:                                                                                                                                                                                                                              Name                   ThreadAllocatedMemoryEnabled                                                                                                                                                                                     Description            ThreadAllocatedMemoryEnabled                                                                                                                                                                                     Readable               true                                                                                                                                                                                                             Writable               true                                                                                                                                                                                                             Is                     true                                                                                                                                                                                                             Type                   boolean                                                                                                                                                                                                          Attribute Descriptor:                                                                                                                                                                                                                   openType               javax.management.openmbean.SimpleType(name=java.lang.Boolean)                                                                                                                                                    originalType           boolean                                                                                                                                                                                                          MBeanAttributeInfo                                                                                                                                                                                                                      Attribute:                                                                                                                                                                                                                              Name                   ThreadAllocatedMemorySupported                                                                                                                                                                                   Description            ThreadAllocatedMemorySupported                                                                                                                                                                                   Readable               true                                                                                                                                                                                                             Writable               false                                                                                                                                                                                                            Is                     true                                                                                                                                                                                                             Type                   boolean
复制代码

举例 3:查看 mbean 属性信息:

基本用法:mbean java.lang:type=Threading


[arthas@11200]$ mbean java.lang:type=Threading OBJECT_NAME                          java.lang:type=Threading                                                                                                                                                                          ----------------------------------------------------------------------------------------------------------------                                                                                                                         NAME                                 VALUE                                                                                                                                                                                             ----------------------------------------------------------------------------------------------------------------                                                                                                                         ThreadAllocatedMemoryEnabled         true                                                                                                                                                                                               ThreadAllocatedMemorySupported       true                                                                                                                                                                                               AllThreadIds                         [36, 30, 29, 27, 26, 25, 24, 23, 22, 20, 19, 18, 17, 16, 15, 14, 4, 3, 2]                                                                                                                          ThreadContentionMonitoringEnabled    false                                                                                                                                                                                              CurrentThreadCpuTime                 625145                                                                                                                                                                                             CurrentThreadUserTime                0                                                                                                                                                                                                  ThreadCpuTimeSupported               true                                                                                                                                                                                               ThreadCpuTimeEnabled                 true                                                                                                                                                                                               ThreadCount                          19                                                                                                                                                                                                 TotalStartedThreadCount              28                                                                                                                                                                                                 ThreadContentionMonitoringSupported  true                                                                                                                                                                                               CurrentThreadCpuTimeSupported        true                                                                                                                                                                                               ObjectMonitorUsageSupported          true                                                                                                                                                                                               SynchronizerUsageSupported           true                                                                                                                                                                                               PeakThreadCount                      19                                                                                                                                                                                                 DaemonThreadCount                    15                                                                                                                                                                                                 ObjectName                           java.lang:type=Threading                                                                                                                                                                          
[arthas@11200]$
复制代码

举例 4:mbean 的 name 支持通配符匹配:

基本用法:mbean java.lang:type=Th*


[arthas@11200]$ mbean java.lang:type=Th* OBJECT_NAME                          java.lang:type=Threading                                                                                                                                                                          ----------------------------------------------------------------------------------------------------------------                                                                                                                         NAME                                 VALUE                                                                                                                                                                                             ----------------------------------------------------------------------------------------------------------------                                                                                                                         ThreadAllocatedMemoryEnabled         true                                                                                                                                                                                               ThreadAllocatedMemorySupported       true                                                                                                                                                                                               AllThreadIds                         [37, 30, 29, 27, 26, 25, 24, 23, 22, 20, 19, 18, 17, 16, 15, 14, 4, 3, 2]                                                                                                                          ThreadContentionMonitoringEnabled    false                                                                                                                                                                                              CurrentThreadCpuTime                 1092010                                                                                                                                                                                            CurrentThreadUserTime                0                                                                                                                                                                                                  ThreadCpuTimeSupported               true                                                                                                                                                                                               ThreadCpuTimeEnabled                 true                                                                                                                                                                                               ThreadCount                          19                                                                                                                                                                                                 TotalStartedThreadCount              29                                                                                                                                                                                                 ThreadContentionMonitoringSupported  true                                                                                                                                                                                               CurrentThreadCpuTimeSupported        true                                                                                                                                                                                               ObjectMonitorUsageSupported          true                                                                                                                                                                                               SynchronizerUsageSupported           true                                                                                                                                                                                               PeakThreadCount                      19                                                                                                                                                                                                 DaemonThreadCount                    15                                                                                                                                                                                                 ObjectName                           java.lang:type=Threading                                                                                                                                                                          
[arthas@11200]$
复制代码


注意

ObjectName 的匹配规则与正常的通配符存在差异,详细参见:javax.management.ObjectName

举例 5:通配符匹配特定的属性字段:

基本用法:mbean java.lang:type=Threading *Count


[arthas@11200]$ mbean java.lang:type=Threading *Count OBJECT_NAME              java.lang:type=Threading                                                                                                                                                                                      ---------------------------------------------------                                                                                                                                                                                      NAME                     VALUE                                                                                                                                                                                                         ---------------------------------------------------                                                                                                                                                                                      ThreadCount              19                                                                                                                                                                                                             TotalStartedThreadCount  30                                                                                                                                                                                                             PeakThreadCount          19                                                                                                                                                                                                             DaemonThreadCount        15                                                                                                                                                                                                            
[arthas@11200]$
复制代码

举例 6:使用-E命令切换为正则匹配:

基本用法:mbean -E java.lang:type=Threading PeakThreadCount|ThreadCount|DaemonThreadCount


[arthas@11200]$ mbean -E java.lang:type=Threading PeakThreadCount|ThreadCount|DaemonThreadCount OBJECT_NAME        java.lang:type=Threading                                                                                                                                                                                            ---------------------------------------------                                                                                                                                                                                            NAME               VALUE                                                                                                                                                                                                               ---------------------------------------------                                                                                                                                                                                            ThreadCount        19                                                                                                                                                                                                                   PeakThreadCount    19                                                                                                                                                                                                                   DaemonThreadCount  15                                                                                                                                                                                                                  
[arthas@11200]$
复制代码

举例 7:使用-i命令实时监控:

基本用法:mbean -i 1000 java.lang:type=Threading *Count


[arthas@11200]$ mbean -i 1000 java.lang:type=Threading *Count OBJECT_NAME              java.lang:type=Threading                                                                                                                                                                                      ---------------------------------------------------                                                                                                                                                                                      NAME                     VALUE                                                                                                                                                                                                         ---------------------------------------------------                                                                                                                                                                                      ThreadCount              19                                                                                                                                                                                                             TotalStartedThreadCount  32                                                                                                                                                                                                             PeakThreadCount          19                                                                                                                                                                                                             DaemonThreadCount        15                                                                                                                                                                                                            
OBJECT_NAME java.lang:type=Threading --------------------------------------------------- NAME VALUE --------------------------------------------------- ThreadCount 19 TotalStartedThreadCount 32 PeakThreadCount 19 DaemonThreadCount 15
OBJECT_NAME java.lang:type=Threading --------------------------------------------------- NAME VALUE --------------------------------------------------- ThreadCount 19 TotalStartedThreadCount 32 PeakThreadCount 19 DaemonThreadCount 15
OBJECT_NAME java.lang:type=Threading
复制代码

本人其他相关文章链接

1.Arthas 全攻略:让调试变得简单2.Arthas dashboard(当前系统的实时数据面板)3.Arthas thread(查看当前JVM的线程堆栈信息)4.Arthas jvm(查看当前JVM的信息)5.Arthas sysprop(查看和修改JVM的系统属性)6.Arthas sysenv(查看JVM的环境变量)7.Arthas vmoption(查看和修改 JVM里诊断相关的option)8.Arthas getstatic(查看类的静态属性 )9.Arthas heapdump(dump java heap, 类似 jmap 命令的 heap dump 功能)10.Arthas logger(查看 logger 信息,更新 logger level)11.Arthas mbean(查看 Mbean 的信息)12.Arthas memory(查看 JVM 内存信息)13.Arthas ognl(执行ognl表达式)14.Arthas perfcounter(查看当前 JVM 的 Perf Counter 信息)15.Arthas vmtool(从 jvm 里查询对象,执行 forceGc)16.Arthas jad(字节码文件反编译成源代码 )17.Arthas mc(Memory Compiler/内存编译器 )18.Arthas redefine(加载外部的.class文件,redefine到JVM里 )19.Arthas classloader (查看 classloader 的继承树,urls,类加载信息)20.Arthas sc(查看JVM已加载的类信息 )21.Arthas sm(查看已加载类的方法信息 )22.Arthas monitor(方法执行监控)23.Arthas stack (输出当前方法被调用的调用路径)24.Arthas trace (方法内部调用路径,并输出方法路径上的每个节点上耗时)25.Arthas tt(方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测)26.Arthas watch (方法执行数据观测)27.Arthas profiler(使用async-profiler对应用采样,生成火焰图)

用户头像

刘大猫

关注

还未添加个人签名 2022-08-23 加入

还未添加个人简介

评论

发布
暂无评论
Arthas mbean(查看 Mbean 的信息)_Java_刘大猫_InfoQ写作社区