[unix] userspace ‘perf’도구를 실행하려면 루트 (관리자) 권한이 필요합니까? (perf 이벤트는 Linux 커널에서 사용 가능합니다)

perf시스템 관리자 (루트)로 사용자 공간 도구 를 실행해야합니까 , 아니면 일반 사용자로 도구 (또는 최소한 일부 하위 명령)를 실행할 수 있습니까?



답변

perf루트가 아닌 상태에서 할 수있는 작업 은 sysctl 설정 에 따라 다릅니다 .kernel.perf_event_paranoid

  • kernel.perf_event_paranoid= 2 : 측정 할 수 없습니다. perf유틸리티는 여전히 기존 기록을 분석하는 데 유용 할 수 있습니다 perf ls, perf report, perf timechart또는 perf trace.
  • kernel.perf_event_paranoid= 1 : perf stat또는 로 명령을 추적하고 perf record커널 프로파일 링 데이터를 얻을 수 있습니다.
  • kernel.perf_event_paranoid= 0 : perf stat또는 로 명령을 추적하고 perf recordCPU 이벤트 데이터를 가져올 수 있습니다.
  • kernel.perf_event_paranoid= -1 : 커널 추적 점에 대한 원시 액세스 권한을 얻습니다 (구체적으로 mmap파일을 만들 수 있습니다 perf_event_open.

답변