perf エラー: 25 で mmap に失敗しました (デバイスに不適切な ioctl)

perf エラー: 25 で mmap に失敗しました (デバイスに不適切な ioctl)

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が問題のようです。

perf record -c 100000 -ecycles、命令 ./somebin

問題なく動作します。:S とは何ですか?

実行中に同様のエラーが発生します:

sudo perf レコード -esyscalls:sys_enter -p $(pidof some_bin)

22 で mmap に失敗しました (無効な引数)

perf list は、syscalls:sys_enter が利用可能であることを示しています。

関連情報