使用 perf timechart 的权限

使用 perf timechart 的权限

我正在学习使用perf我的分析工具Ubuntu 18.04.3 LTS。我知道通过使用性能时间表您可以可视化工作负载期间的系统行为。我尝试使用并行程序:

perf timechart record mpirun -np 4 main

然后我收到此错误信息:

event syntax error: 'sched:sched_wakeup'
                     \___ can't access trace events

Error:  No permissions to read /sys/kernel/debug/tracing/events/sched/sched_wakeup
Hint:   Try 'sudo mount -o remount,mode=755 /sys/kernel/debug/tracing'

Run 'perf list' for a list of valid events

 Usage: perf record [<options>] [<command>]
    or: perf record [<options>] -- <command> [<options>]

    -e, --event <event>   event selector. use 'perf list' to list available events

我尝试了 pref 建议的方法sudo mount -o remount,mode=755 /sys/kernel/debug/tracing,但仍然出现相同的错误。有什么办法可以解决这个问题而不使用perfroot 身份?我已经将我的改为/proc/sys/kernel/perf_event_paranoid-1 。

答案1

运行sudo mount -o remount,mode=755 /sys/kernel/debug/tracingtracefs 后,现在应该以正确的权限挂载。但是,您仍需要确保您具有访问挂载点本身的权限(换句话说,您需要对所有父目录具有执行权限才能“遍历”到此路径)。

在 ubuntu 中,debugfs 以默认权限安装,/sys/kernel/debug仅允许 root 遍历此目录。

跑步:

sudo mount -o remount,mode=755 /sys/kernel/debug/

应该可以解决这个问题。

相关内容