重启后 Perf sched_stat_sleep 出现问题

重启后 Perf sched_stat_sleep 出现问题

我在 Ubuntu 20.04 上使用 perf sched:sched_stat_sleep,并将以下内容添加到/etc/fstab

debugfs /sys/kernel/debug    debugfs defaults 0 0
tracefs /sys/kernel/tracing  tracefs defaults 0 0

但是,重新启动机器后,我无法运行该perf命令(例如perf record -e sched:sched_stat_sleep -e sched:sched_switch -e sched:sched_process_exit -a -g -o perf.data sleep 1),并且出现错误:

event syntax error: 'sched:sched_stat_sleep'
                     \___ can't access trace events
Error:  No permissions to read /sys/kernel/tracing/events/sched/sched_stat_sleep
Hint:   Try 'sudo mount -o remount,mode=755 /sys/kernel/tracing/'

再次运行以下命令,确实允许我再次正确使用 perf 的设置。

echo 1 | sudo tee /sys/kernel/debug/tracing/events/enable
echo 1 | sudo tee /proc/sys/kernel/sched_schedstats
sudo mount -o remount,mode=755 /sys/kernel/debug/
sudo chmod 755 /sys/kernel/debug/tracing/

为确保重启后还能继续运行,正确的设置方法是什么?

答案1

事实证明,只需添加其他fstab选项即可解决权限问题:

debugfs /sys/kernel/debug    debugfs defaults,mode=755 0 0
tracefs /sys/kernel/tracing  tracefs defaults,mode=755 0 0

相关内容