Запустите perf без рут-прав

13694
kain88

Я запускаю тестирование Debian с ядром 4.1 и версией perfинструмента 4.1 . В этой версии они, кажется, добавили какую-то защиту, чтобы не дать обычным пользователям собирать данные из этого инструмента. Таким образом, запуск в perfкачестве обычного пользователя выдаст эту ошибку:

perf stat ls Error: You may not have permission to collect stats. Consider tweaking /proc/sys/kernel/perf_event_paranoid: -1 - Not paranoid at all 0 - Disallow raw tracepoint access for unpriv 1 - Disallow cpu events for unpriv 2 - Disallow kernel profiling for unpriv 

perf_event_paranoidсодержит 3 в моей установке. К сожалению, я не могу изменить этот файл даже как root. Как я могу позволить своему собственному пользователю использовать perfбез прав sudo?

У меня есть приложение, которое я хотел бы сравнить, которому не нужен root, и я не хочу запускать его как root для сравнения.

13
Работает ли `perf stat -e циклы: у`? Значение «3» для perf_event_paranoid` было добавлено в 2016 году https://lwn.net/Articles/696216/ «Запретить perf_event_open ()» и было включено в «Android и Debian» (также https://lkml.org/lkml / 2016/1/11/587 https://bugs.launchpad.net/bugs/1612790 https://www.debian.org/security/2017/dsa-3791) osgx 5 лет назад 0

1 ответ на вопрос

22
meuh

Files in /proc that are writable are usually changed by echoing a value into them. You should try:

sudo sh -c 'echo 1 >/proc/sys/kernel/perf_event_paranoid' 
Для сохранения при перезагрузке: `sudo sh -c 'echo kernel.perf_event_paranoid = 1> / etc / sysctl.d / local.conf'` Márcio 7 лет назад 6

Похожие вопросы