【Arthas】Arthas 导出堆栈信息

在这里插入图片描述

1.概述

转载:Arthas 导出堆栈信息

2. 开篇

arthas提供heapdump命令导出栈信息, 类似jmap命令的heap dump功能。

3.原理介绍

通过通过HotSpotDiagnosticMXBean的dumpHeap来导出栈参数。

public interface HotSpotDiagnosticMXBean extends PlatformManagedObject {
    void dumpHeap(String var1, boolean var2) throws IOException;
    List<VMOption> getDiagnosticOptions();
    VMOption getVMOption(String var1);
    void setVMOption(String var1, String var2);
}

源码分析

   private static void run(CommandProcess process, String file, boolean live) throws IOException {
        HotSpotDiagnosticMXBean hotSpotDiagnosticMXBean = ManagementFactory
                        .getPlatformMXBean(HotSpotDiagnosticMXBean.class);
        hotSpotDiagnosticMXBean.dumpHeap(file, live);
    }

3.案例

public class HotSpotDiagnosticMXBeanDemo {

    public static void run(String file, boolean live) throws IOException {
        HotSpotDiagnosticMXBean hotSpotDiagnosticMXBean = ManagementFactory
                .getPlatformMXBean(HotSpotDiagnosticMXBean.class);
        hotSpotDiagnosticMXBean.dumpHeap(file, live);
    }
}


 @Test
    public void mainTest() throws IOException {
        HotSpotDiagnosticMXBeanDemo.run("/Users/lcc/temp/dump.hprof",true);
    }

运行结果

[lcc@lcc ~/IdeaProjects/github]$ ll /Users/lcc/temp/
-rw-------    1 lcc  staff  2984396  4  5 19:13 dump.hprof
[lcc@lcc ~/IdeaProjects/github]$
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值