ArthasArthas 导出堆栈信息
Posted 九师兄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArthasArthas 导出堆栈信息相关的知识,希望对你有一定的参考价值。
1.概述
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 导出堆栈信息的主要内容,如果未能解决你的问题,请参考以下文章