arthas--vmtool查看内存对象

原理:
vmtool 利用JVMTI接口,实现查询内存对象,强制 GC 等功能。

方式一

命令结构

vmtool --action getInstances -c   [类加载器的hash] --className  [目标类全路径]
 --limit 10 -x 2

 通过 --limit参数,可以限制返回值数量,避免获取超大数据时对 JVM 造成压力。默认值是 10。

通过 -x/--expand 参数可以指定结果的展开层次,默认值是 1。


例如:
查看对象的内容

vmtool --action getInstances --className com.caucho.network.listen.TcpPort 
--limit 3 --expand 4

强制GC

vmtool --action forceGc

方式二

命令格式:

 vmtool --action getInstances -c 7637f22   --className 【容器全路径】
--express 'instances[0].getBean("实例对象名").【属性名】' 

获取当前类是那个类加载器加载的

sc -d 【目标类】

例如:
查询spring容器中的某个对象

 vmtool --action getInstances    -c [ 7637f22] --className [org.springframework.web.context.WebApplicationContext]
--express 'instances[0].getBean("mytest")' 

查询spring容器中的某个对象的某个属性值
 

vmtool --action getInstances -c 7637f22   --className org.springframework.web.context.WebApplicationContext --express
 'instances[0].getBean("mytest").testName' 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值