首页
/ Async-profiler v4.0 发布:热力图与原生内存分析功能全面升级

Async-profiler v4.0 发布:热力图与原生内存分析功能全面升级

2025-06-07 17:28:25作者:侯霆垣

Async-profiler 是一款低开销的 Java 性能分析工具,它通过采样方式收集 JVM 和应用性能数据,支持 CPU、内存、锁等多种分析场景。最新发布的 v4.0 版本带来了多项重大改进,特别是新增了热力图可视化和原生内存泄漏分析功能,进一步提升了性能诊断能力。

核心功能增强

交互式热力图分析

v4.0 版本引入了交互式热力图功能,为开发者提供了全新的性能数据可视化方式。热力图特别适合展示时间序列上的性能指标变化,如 CPU 使用率随时间波动情况。相比传统火焰图,热力图能更直观地呈现性能问题的持续时间段和强度变化。

原生内存泄漏分析

新版本集成了原生内存泄漏分析器,能够追踪 C/C++ 代码中的内存分配情况。这一功能对于混合语言应用尤为重要,开发者现在可以一站式分析 Java 堆内存和原生内存的使用情况,快速定位内存泄漏问题。

JFR 转换工具增强

jfrconv 工具得到了显著增强,支持更多转换选项和输出格式。新增的 --grain 参数允许开发者控制火焰图的粒度,便于在不同抽象层级上分析性能问题。转换器现在能更好地处理自定义 JFR 事件和截断的 JFR 文件。

性能与兼容性改进

多平台支持优化

v4.0 解决了 musl 和 glibc 的兼容性问题,并静态链接 libstdc++ 库,提升了在不同 Linux 发行版上的兼容性。新增的 --libpath 选项简化了容器环境中的库路径配置。

采样机制优化

CPU 分析现在默认使用 ExecutionSample 事件,而 Wall clock 分析使用 WallClockSample 事件,使采样结果更加准确。新增的 --nostop 选项允许分析在指定时间窗口外继续运行,便于捕获偶发性性能问题。

符号解析增强

符号解析能力得到多项改进,包括支持从 debuginfod 缓存加载符号、更好的 Rust v0 符号反混淆,以及更健壮的动态库解析机制。这些改进提升了原生代码分析的准确性。

用户体验提升

火焰图交互增强

火焰图查看器新增了多项交互功能:Alt+Click 可快速移除不需要的调用栈,N/Shift+N 便于在搜索结果间导航,--inverted 选项支持垂直翻转火焰图,满足不同分析习惯。

日志与错误处理

分析器现在会明确记录未收集到样本的情况,帮助开发者判断配置是否正确。错误处理机制更加健壮,能够更好地处理 JVM 加载失败等异常情况。

底层优化

栈遍历改进

ARM64 架构的栈遍历能力得到增强,新增了 VMStructs 基础的栈遍历器(--cstack vm/vmx),提供了更可靠的原生代码调用链捕获方式。

内存与线程安全

修复了多个可能导致崩溃或死锁的问题,特别是在使用 jemalloc/tcmalloc 分析器时。改进了 JNI 引用管理,避免了潜在的 JVM 崩溃风险。

项目基础设施

v4.0 版本周期内,项目基础设施得到全面升级:

  • 文档结构重组和内容更新
  • 新增集成测试框架和 C++ 单元测试
  • 完善 CI 流程,支持多平台测试
  • 新增静态分析工具,提升代码质量
  • 提供 Dockerfile 简化构建流程
  • 自动化夜间构建发布

Async-profiler v4.0 的这些改进使其成为更全面、更可靠的性能分析工具,无论是 Java 应用还是混合语言应用的性能优化,都能提供有力的支持。新加入的热力图和原生内存分析功能,特别适合解决现代分布式系统中的复杂性能问题。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
docsdocs
暂无描述
Markdown
827
5.49 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
494
518
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
786
1.58 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
803
1.14 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
973
2.29 K
kernelkernel
deepin linux kernel
C
32
16
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
482
312
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.02 K
769
cannbot-skillscannbot-skills
CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。
Markdown
1.26 K
811
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
648
287