Temos um sistema CentOS 7 com duas contas de usuário:
Sally executa um trabalho específico que Tanya precisa monitorar usando perf top
. Tanya tentou executar perf top -p PID
, mas sai com um erro:
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
Definimos perf_event_paranoid
para 0
e -1
, mas ocorreu o mesmo erro.
Sally está disposta a permitir o monitoramento de todos os seus processos por Tanya. Habilitar apenas um PID também seria OK (por exemplo, Sally poderia executar um script toda vez que iniciasse o processo para permitir o monitoramento por Tanya ... se eles soubessem o que escrever nesse script).
Se estivéssemos discutindo o GDB, parece que a resposta seria gdbserver
ou sudo
. Existe alguma maneira de usar perf
para monitorar os trabalhos de Sally sem se tornar Sally? Sally e Tanya confiam um no outro, mas preferem não usar a representação, a menos que seja absolutamente necessário.