ArthasArthas 导出堆栈信息

Posted 九师兄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArthasArthas 导出堆栈信息相关的知识,希望对你有一定的参考价值。

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]$

以上是关于ArthasArthas 导出堆栈信息的主要内容,如果未能解决你的问题,请参考以下文章

ArthasArthas dump导出加载类

arthasArthas 查看 Mbean 的信息

ArthasArthas 类查找和反编译原理

ArthasArthas classloader类加载器

ArthasArthas使用watch命令(生产上查看方法出入参)

ArthasArthas使用watch命令(生产上查看方法出入参)