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

能否在perf record中排除指定PID?过滤命令报错求语法指导

解决perf record过滤PID的问题

你的命令语法确实有问题,而且--filter选项并不适合用来给硬件事件(比如cycles)做PID过滤,这也是你报错的核心原因:

This CPU does not support address filtering

正确的PID过滤方法

  • 直接排除指定PID(推荐,perf 4.14及以上版本支持)
    用--exclude-pid选项直接跳过目标PID的事件:

    perf record -e cycles --exclude-pid 514900
    

    如果要排除多个PID,用逗号分隔:--exclude-pid 514900,514901

  • 只监控指定PID
    如果你明确知道要监控的PID,反过来用-p参数指定,间接排除其他PID:

    perf record -e cycles -p 1234,5678
    

为什么你的命令不行?

--filter选项主要是给tracepoint事件(比如sched:sched_process_exec这类内核跟踪点)设计的过滤规则,对硬件性能计数器事件(比如cycles)的支持非常有限,而且需要CPU具备特定的硬件过滤能力,你的CPU不支持,所以触发了报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 11:30:59