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

Ubuntu 20.04下PAPI无可用计数器问题求助

问题原因分析
  • PAPI预设事件映射未生成:预设事件是PAPI对硬件原生事件的抽象层,若编译PAPI时未针对当前CPU架构生成对应映射表,就会出现预设事件为0的情况。
  • PAPI编译配置缺失:编译过程中可能未启用perf_event组件的完整支持,或未正确检测当前CPU的事件信息。
  • 内核版本兼容问题:部分过新/过旧的内核与PAPI的perf_event组件存在适配问题,导致预设事件无法加载。
  • 权限或安全机制限制:即便调整了kernel.perf_event_paranoid和kptr_restrict,仍可能因未用sudo运行、SELinux/AppArmor拦截等导致组件异常。
解决建议
  • 重新编译PAPI并指定CPU架构:
    • 卸载现有PAPI,下载最新稳定版源码
    • 编译时添加对应CPU架构参数,例如x86_64架构的Skylake处理器可执行:
      ./configure --with-arch=skylake --enable-perf-events && make && sudo make install
      
  • 调整内核版本:
    • 升级内核至LTS版本(如5.15、6.x系列),避免使用测试版或过旧内核
    • 升级后重新加载perf_event模块:sudo modprobe perf_event
  • 验证权限与安全机制:
    • 用sudo运行PAPI工具:sudo papi_avail、sudo papi_component_avail
    • 临时关闭SELinux测试:sudo setenforce 0,若恢复正常再配置SELinux规则放行
  • 直接使用原生事件:
    • 若预设事件仍不可用,可在代码中直接绑定原生事件,示例片段:
      int event_code;
      PAPI_event_name_to_code("LLC_MISSES", &event_code);
      PAPI_add_event(eventset, event_code);
      
  • 排查组件详细状态:
    • 运行papi_component_avail -v查看perf_event组件的加载错误日志
    • 确保系统安装了perf工具:sudo apt install linux-tools-common linux-tools-$(uname -r)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 15:14:54