Arthas 导出堆栈信息
2021-05-23 本文已影响0人
晴天哥_王志
系列
- Arthas入门篇
- Arthas功能介绍
- Arthas 启动过程分析
- Arthas使用Idea调试
- Arthas Command处理流程
- Arthas类查找和反编译原理
- Arthas内存动态编译原理
- Arthas动态重新加载类
- Arthas导出加载类
- Arthas classloader类加载器
- Arthas 查看当前JVM信息
- Arthas thread查看线程信息
- Arthas 获取系统环境变量
开篇
- arthas提供heapdump命令导出栈信息, 类似jmap命令的heap dump功能。
原理介绍
- 通过通过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);
}