web-dev-qa-db-fra.com

Lancer perf sans droits root

J'exécute les tests debian avec le noyau 4.1 et la version 4.1 de l'outil perf. Dans cette version, ils semblent avoir ajouté une sorte de protection pour empêcher les utilisateurs normaux de collecter des données à partir de cet outil. Donc, exécuter perf en tant qu'utilisateur normal donnera cette erreur:

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 en contient 3 dans mon installation. Malheureusement, je ne peux pas changer ce fichier même en tant que root. Comment autoriser mon propre utilisateur à utiliser perf sans les droits Sudo?

Je souhaite analyser une application qui n'a pas besoin de root et je ne veux pas l'exécuter en tant que root pour l'analyse.

24
kain88

Les fichiers en écriture dans/proc qui sont en écriture sont généralement modifiés en leur renvoyant une valeur. Tu devrais essayer:

Sudo sh -c 'echo 1 >/proc/sys/kernel/perf_event_paranoid'
33
meuh