Arthas 4.1.5 宣布:新增堆内存分析功能,watch/trace 等敕令支撑 ClassLoader 精确匹配

本次版本主要新增堆内存分析功能、MCP viewfile 工具、watch/trace 等命令支持 ClassLoader 精确匹配等特性。 🚀 新特性 (Features) 1. vmtool 新增堆内存分析功能 (#1915, #3122) 感谢 @yuankong11 新增两个强...

应用介绍

本次版本重要新增堆内存分析功能、MCP viewfile 对象、watch/trace 等敕令支撑 ClassLoader 精确匹配等特点。

🚀 新特点 (Features)

1. vmtool 新增堆内存分析功能 (#1915, #3122)

感激 @yuankong11

新增两个强大年夜的堆内存分析 action:

heapAnalyze - 分析堆内存占用

vmtool --action heapAnalyze --classNum 5 --objectNum 3
  • 从 GC Root 可达对象出发,统计各个类的实例数量与占用字节数

  • 支撑 --classNum 指定展示的类数量,--objectNum 指定展示的对象数量

referenceAnalyze - 分析对象引用链

vmtool --action referenceAnalyze --className java.lang.String --objectNum 5 --backtraceNum 3
  • 分析某个类的实例对象,输出占用最大年夜的若干对象及其引用回溯链(从对象回溯到 GC Root)

  • 支撑 --backtraceNum 参数指定回溯层数(-1 表示一向回溯到 root,0 表示不输出引用链)

$ vmtool --action referenceAnalyze --className demo.MathGameid   #bytes     class_name & references----------------------------------------------------1    16         demo.MathGame <-- root(local variable in method: main)

2. watch/trace/stack/tt/monitor 支撑 ClassLoader Hash (#3120)

所有加强类敕令新增 -c/--classloader 参数,支撑指定 ClassLoader 精确加强:

sc -d com.example.Foowatch -c 3d4eac69 com.example.Foo bar '{params,returnObj}'trace -c 3d4eac69 com.example.Foo barstack -c 3d4eac69 com.example.Foo bar
  • 解决同名类被多个 classloader 加载时的加强歧义问题

  • 可先用 sc -d 查看 classloader hash,再用 -c 指定

3. MCP 新增 viewfile 对象 (#3121)

支撑 cursor/offset 分段读取,避免一次性返回大年夜量内容

  • 支撑目次白名单设备(情况变量 ARTHAS_MCP_VIEWFILE_ALLOWED_DIRS

  • 默认许可目次:arthas-output、~/logs/

  • 4. AnsiLog 可设备输出流 (#3128)

    • AnsiLog 支撑自定义输出流设备,不再硬编码应用 System.out

    • 便于日记输出的灵活控制和重定向

    5. as-package.sh 支撑 --fast 模式

    打包脚本新增 --fast 参数,支撑快速打包模式,晋升开辟效力。

    🐛 Bug 修复 (Bug Fixes)

    1. 修复 MCP 禁用时拜访 arthas-output 的空指针异常 (#3127)

    输出占用最大年夜的若干对象与类

  • 修复当 MCP 功能禁用时,拜访 arthas-output 目次会抛出 NullPointerException 的问题。

    📦 依附更新 (Dependencies)

    • 修复 EnhancerTest 测试用例

    • MCP Server 新增文件查看对象,支撑分段读取大年夜文件:

      • 进级 byte-buddy 依附至 1.18.3 版本

      🔧 工程改进 (Engineering)

      1. 新增 Telnet 停止泄漏集成测试 (#3125)

      • 新增 telnet-stop-leak 测试目次

      • 包含主动化测试脚本和 expect 脚本

      • 新增 GitHub Actions 工作流支撑

      2. MCP 集成测试加强

      • $ vmtool --action heapAnalyze --classNum 5 --objectNum 5class_number: 5367object_number: 140379id   #bytes     class_name----------------------------------------------------1    65552      byte[]2    65552      byte[]3    63024      byte[]4    61032      byte[]5    55736      byte[]id   #instances   #bytes          class_name----------------------------------------------------1    9052         7573224         byte[]2    26045        1721600         char[]3    3204         770376          java.lang.Object[]4    25810        619440          java.lang.String5    5376         605216          java.lang.Class

        新增 profiler 和 viewfile 对象的集成测试

      • 新增 ViewFileToolTest 单位测试

      3. EnhancerTest 修复与加强

      • 新增 ClassLoader hash 加强相干测试

  • 点赞(0) 打赏

    立即下载

    相关下载

    评论列表 共有 0 条评论

    暂无评论

    微信小程序

    微信扫一扫体验

    立即
    投稿

    微信公众账号

    微信扫一扫加关注

    发表
    评论
    返回
    顶部