当前位置: 首页 > news >正文

Arthas heapdump(dump java heap, 类似 jmap 命令的 heap dump 功能)

在这里插入图片描述

文章目录

  • 二、命令列表
    • 2.1 jvm相关命令
      • ### 2.1.8 heapdump(dump java heap, 类似 jmap 命令的 heap dump 功能)
        • 举例1:假设你想生成一个只包含活动对象的堆转储文件,并将其保存为 `/tmp/heapdump.hprof`
        • 举例2:如果你想要进一步定制堆转储文件的内容,比如只包含特定类的对象,并且以二进制格式存储
          • 注意事项

二、命令列表

2.1 jvm相关命令

### 2.1.8 heapdump(dump java heap, 类似 jmap 命令的 heap dump 功能)

基本用法
heapdump [options]

参数说明:

参数名称参数说明
–live只包含活动对象(Live Objects),这通常意味着排除已经被垃圾回收器标记为不可达的对象。
–format指定输出文件的格式,默认为 hprof,但也可以选择 bintxt 格式。
-s–skip-finalizer跳过那些在 finalizer 队列中的对象。
–compress压缩输出文件。
–exclude-class排除特定类的对象,可以多次使用以排除多个类。
–include-class只包含特定类的对象,可以多次使用以包含多个类。
–exclude-package排除特定包名下的所有类的对象。
–include-package只包含特定包名下的所有类的对象。
–exclude-instance排除特定实例,可以通过 o 命令获取实例的 id
–include-instance只包含特定实例,可以通过 o 命令获取实例的 id
举例1:假设你想生成一个只包含活动对象的堆转储文件,并将其保存为 /tmp/heapdump.hprof

基础语法
heapdump --live 指定输出的路径及文件名

heapdump --live /tmp/heapdump.hprof
举例2:如果你想要进一步定制堆转储文件的内容,比如只包含特定类的对象,并且以二进制格式存储

基础语法
heapdump --live --include-class=指定类的全路径 --format=指定输出文件的格式

[arthas@24056]$ heapdump --live --include-class=com.hero.lte.ems.sysmanager.cache.AmNeRefCache --format=bin /temporary/tmp1/AmNeRefCache.bin
Dumping heap to --include-class=com.hero.lte.ems.sysmanager.cache.AmNeRefCache ...
Heap dump file created
[arthas@24056]$ 
注意事项
  • 使用 heapdump 命令会消耗一定的系统资源,特别是在大型应用程序中,因此在生产环境中使用时要格外小心。
  • 生成的堆转储文件可能会非常大,特别是当包含了很多对象的时候,因此确保有足够的磁盘空间。
  • 如果你不确定如何使用某个选项,可以使用 help heapdump 命令查看详细的帮助信息。

http://www.mrgr.cn/news/33528.html

相关文章:

  • Windows 配置docker和ubuntu系统
  • C++ boost——时间与日期
  • 揭秘提升工作效率的五大编程工具秘籍
  • 植物大战僵尸【源代码分享+核心思路讲解】
  • 策略模式在 Spring Boot 框架中的应用
  • 蜗牛兼职网设计与Spring Boot应用
  • 轻掺杂漏极(LDD)技术
  • 使用image watch查看图片像素值
  • KamaCoder 103. 水流问题
  • 【MySQL】库的操作
  • 联合体的用法和用联合体判断大小端存储
  • 【排序算法】插入排序_直接插入排序、希尔排序
  • c# 三元表达式
  • 开源 AI 智能名片 S2B2C 商城小程序与营销工具的快速迭代
  • priority_queue 与 deque
  • 如果一个线上运行的程序,出现了死锁,应该怎么处理
  • 【记录】Excel|不允许的操作:合并或隐藏单元格出现的问题列表及解决方案
  • Elasticsearch导出导入数据
  • Flyway 基本概念
  • 【深入Java枚举类:不仅仅是常量的容器】