ошибка perf: не удалось выполнить mmap с 25 (неподходящий ioctl для устройства)

ошибка perf: не удалось выполнить mmap с 25 (неподходящий ioctl для устройства)

Я пытаюсь использовать perf в системе с ядром linux 3.8. При использовании следующей команды возникает ошибка:

$ 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,instructions ./somebin

работает отлично. Что такое :S ?

Я вижу похожую ошибку при запуске:

sudo perf record -esyscalls:sys_enter -p $(pidof some_bin)

не удалось выполнить mmap с 22 (недопустимый аргумент)

где perf list предполагает, что syscalls:sys_enter должен быть доступен.

Связанный контент