[alibaba/arthas]vmtool 问题

2025-11-12 589 views
2
环境信息
  • arthas-boot.jar 或者 as.sh 的版本: 3.5.2
  • Arthas 版本: 3.5.2
  • 操作系统版本: 7
  • 目标进程的JVM版本: 1.8
  • 执行arthas-boot的版本: 3.5.2
重现问题的步骤
  1. 我使用arthas排查文件占用的问题
  2. 执行命令为 vmtool --action getInstances --className java.io.FileInputStream -x 2 -l -1 | grep xlsx -A5
  3. 我看不到父类的对象,还是说我的使用方法不对
  4. 而且我的options print-parent-fields 也是true 期望的结果

What do you expected from the above steps?

实际运行的结果

实际运行结果,最好有详细的日志,异常栈。尽量贴文本。

把异常信息贴到这里

回答

0

InputStream是抽象类

class FileInputStream extends InputStream
public abstract class InputStream implements Closeable

没看懂grep后面是要做啥。

1

就是 我们在运行的tomcat中 发现 有一部分文件删不掉 一直被tomcat占用,必须每次停掉tomcat 才能删掉 我们就是想排查下到底是那个类的对象占用了这些文件 初步的思路就是有没有其他地方的文件流没关 我看vmtool就是查找对象的,所以就用了这个命令 后面的grep 就是过滤 属性里面包含 xlsx 的

3

我看不到父类的对象,还是说我的使用方法不对

这个和父类没啥关系啊。

5

我看不到父类的对象,还是说我的使用方法不对

这个和父类没啥关系啊。

哦,那该如何排查呢?大佬

7

。。可能你想说的是引用吧, heapdump后分析。heapdump分析软件都有查找引用功能。