在这里插入图片描述
@[toc]

二、命令列表

2.1 jvm相关命令

2.1.10 mbean(查看 Mbean 的信息)

使用场景

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

参数说明:

参数名称参数说明
name-pattern名称表达式匹配
attribute-pattern属性名表达式匹配
[m]查看元信息
[i:]刷新属性值的时间间隔 (ms)
[n:]刷新属性值的次数
[E]开启正则表达式匹配,默认为通配符匹配。仅对属性名有效
举例1:列出所有 Mbean 的名称:
基本用法
mbean
[arthas@11200]$ mbean
java.lang:type=MemoryPool,name=Metaspace
java.lang:type=MemoryPool,name=PS Old Gen
java.lang:type=GarbageCollector,name=PS Scavenge
java.lang:type=MemoryPool,name=PS Eden Space
JMImplementation:type=MBeanServerDelegate
java.lang:type=Runtime
java.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对应用采样,生成火焰图)


刘大猫
6 声望1 粉丝

如果有天突然发现路的尽头还是路的话,希望你还没错过太多沿路的风景和眼前珍惜的人。