無需 root 權限即可運行 perf

無需 root 權限即可運行 perf

我正在使用 4.1 核心和 4.1 版本的perf工具執行 Debian 測試。在這個版本中,他們似乎添加了某種保護措施,以防止普通用戶從該工具收集資料。所以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 身份運行它來對其進行基準測試。

答案1

其中可寫入的檔案/proc通常會透過將值回顯到其中來更改。你應該試試:

sudo sh -c 'echo 1 >/proc/sys/kernel/perf_event_paranoid'

下面的文件/proc/sys/還有系統控制命令以方便訪問,因此您可以執行以下操作:

sudo sysctl -w kernel.perf_event_paranoid=1

(雖然-w對於似乎是可選的)。為了確保在啟動時完成此操作,請/etc/sysctl.d/99-mysettings.conf使用以下行建立您自己的文件

kernel.perf_event_paranoid=1

選擇不會覆蓋/run/sysctl.d/和中現有檔案的檔案名稱/usr/lib/sysctl.d/。看人sysctl.d

相關內容