You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

async-profiler list命令无法查看全部JVM性能分析事件如何处理

问题解答

为什么malloc事件没有出现在list命令的输出中

async-profiler 2.0的./profiler.sh list <pid>命令默认只会输出两类事件:内置的通用性能事件,以及当前操作系统支持的硬件性能计数器事件。
malloc属于native函数追踪类事件,这类事件通过uprobes探针动态挂载实现,async-profiler理论上支持将目标进程加载的所有native库的导出函数作为采样事件,包括但不限于glibc的malloc、free,JVM内部原生函数等。由于这类可支持的事件数量完全由进程加载的库决定,没有固定的枚举范围,因此list命令不会将这类动态事件纳入输出列表。

如何查看特定JVM下async-profiler支持的所有事件

你可以分两类确认可用事件:

  • 内置通用事件、系统支持的硬件性能计数器事件,直接执行./profiler.sh list <目标Java进程PID>即可得到完整的可用列表,这部分输出是准确的
  • 动态native函数类事件,只要目标进程的符号表中存在对应函数的导出符号即可使用,你可以通过短时间采样测试验证:设置采样时长为1秒执行采样命令,没有报错就说明该事件可用

内容的提问来源于stack exchange,提问作者tuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 09:57:01