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 パフォーマンス履歴 -esyscalls:sys_enter -p $(pidof some_bin) 22(無効なパラメータ)を使用してマッピングできません。
その中で、perfリストはsyscalls:sys_enterが利用可能であることを示唆しています。