性能错误:无法使用 25 进行 mmap(设备的 ioctl 不合适)

性能错误:无法使用 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 是问题所在。

性能记录-c 100000-ecycles,指令./somebin

运行良好。什么是:S?

我在运行时看到类似的错误:

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

无法使用 22 进行映射(参数无效)

其中 perf list 建议 syscalls:sys_enter 应该可用。

相关内容