
我正在嘗試在具有 3.8 Linux 核心的系統中使用 perf。當我使用以下命令時,發生錯誤:
$ perf record -c 100000 -e '{cycles,instructions}:S' ./nonloop 1000
failed to mmap with 25 (Inappropriate ioctl for device)
nonloop: Terminated
誰能告訴我如何解決這個問題?
答案1
看起來 :S 是問題所在。
效能記錄-c 100000-ecycles,指令./somebin
運作良好。什麼是:S?
我在運行時看到類似的錯誤:
sudo perf record -esyscalls:sys_enter -p $(pidof some_bin) 無法使用 22 進行對應(參數無效)
其中 perf list 建議 syscalls:sys_enter 應該可用。