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

Eclipse CDT使用perf分析时PERF_FLAG_FD_CLOEXEC错误13权限被拒绝如何解决

解决步骤

1. 修复perf调用权限问题

报错的核心原因是内核perf_event_paranoid参数当前值为3,限制了普通用户使用perf性能采集功能,按以下两种方式调整即可:

临时生效(重启后恢复默认值,适合临时测试)

执行命令:

sudo sysctl -w kernel.perf_event_paranoid=-1

永久生效(重启后配置保留)

  • 打开sysctl配置文件:sudo nano /etc/sysctl.conf(也可替换为你习惯的编辑器,如vim、gedit)
  • 在文件末尾新增一行配置:kernel.perf_event_paranoid = -1
  • 保存退出后执行命令让配置立即生效:sudo sysctl -p

2. 验证perf可用性,修复识别异常

报错末尾的ERROR: Unable to find Perf version属于权限不足导致perf未正常运行的连锁报错,调整权限后先在终端做两层验证:

  • 验证perf安装正常:执行perf --version,如果能正常输出版本号说明perf安装和路径配置无误;如果报错找不到命令,重新安装perf即可:
    • Debian/Ubuntu 系发行版:sudo apt install linux-tools-common linux-tools-$(uname -r)
    • CentOS/RHEL/Fedora 系发行版:sudo dnf install perf
  • 手动验证perf采集功能:执行你报错中的采集命令(替换为你自己的程序路径):
    /usr/bin/perf record --output=perf.data /home/rbaleksandar/Projects/Eclipse/workspace1/GameEngine/build/cmake.debug.linux.x86_64/bin/GameEngine ge.json
    
    运行无权限报错、能正常生成perf.data文件后,再回到Eclipse CDT触发性能分析即可正常运行。

可选:按需调整权限宽松度

如果不想给perf过高的权限,可以根据你的使用需求调整perf_event_paranoid的取值,不用直接设为-1:

  • 仅需分析用户态程序CPU性能:设为1即可
  • 需要同时分析内核态性能:设为2即可
  • 仅当需要使用ftrace、raw tracepoint等底层功能时,才需要设为-1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:54:05