Я использую расписание perf sched: sched_stat_sleep
в Ubuntu 20.04 и добавил следующее в / 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/
Какой правильный метод настройки выдерживает перезагрузку?
Оказалось, что только добавление дополнительных опций fstab
помогло исправить проблему с разрешением:
debugfs /sys/kernel/debug debugfs defaults,mode=755 0 0
tracefs /sys/kernel/tracing tracefs defaults,mode=755 0 0