성능 오류: 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 성능 기록 -esyscalls:sys_enter -p $(pidof some_bin)

22(잘못된 매개변수)를 사용하여 매핑할 수 없습니다.

그중 perf 목록에서는 syscalls:sys_enter를 사용할 수 있어야 한다고 제안합니다.

관련 정보