文章目录
- 二、命令列表
- 2.1 jvm相关命令
- 2.1.15 vmtool(从 jvm 里查询对象,执行 forceGc)
- 举例1:获取对象
二、命令列表
2.1 jvm相关命令
2.1.15 vmtool(从 jvm 里查询对象,执行 forceGc)
vmtool
利用JVMTI
接口,实现查询内存对象,强制 GC 等功能。
问题:arthas命令中,vmtool和sc有啥区别,感觉都是从jvm查看已加载的类信息?
答案:
vmtool
命令提供了更广泛的 JVM 监控功能,包括但不限于类加载器和线程状态等。sc
命令则更专注于类的加载情况,适用于获取详细的类信息。
举例1:获取对象
基本用法
:vmtool --action getInstances --className 全路径类名 --limit 10
提示
通过
--limit
参数,可以限制返回值数量,避免获取超大数据时对 JVM 造成压力。默认值是 10。
[arthas@5462]$ vmtool --action getInstances --className java.lang.String --limit 10
@String[][
@String[OK],
@String[OK],
@String[com.hero.lte.ems.register.ServiceConfig],
@String[PLATFORM],
@String[20.150.12.100],
@String[PLATFORM],
@String[java.lang.Long],
@String[OK],
@String[{"equipmentId":73,"id":100073,"ip":"172.31.1.73","port":8888,"processCode":"ems_enodeb","service":"enodeb"}],
@String[ID:localhost.localdomain-41003-1726383320757-3:1:24:1:2330],
]
[arthas@5462]$