이전 커널 INST_RETIRED.ANY(및 다음 문서에 설명된 기타 많은 카운터)의 경우https://perfmon-events.intel.com/ahybrid.htm) perf의 카운터로.
저는 현재 Sapphire Rapids {Golden Cove} 프로세서에서 성능을 사용하고 6.7 커널을 실행하고 있습니다.
내가 다음을 할 때
perf stat -e INST_RETIRED.ANY,cycles sleep 2
알겠어요
event syntax error: 'INST_RETIRED.ANY,cycles'
\___ parser error
이것이 예상된 동작입니까?
답변1
적어도 내가 달려가서 sudo perf list
찾아보니 다른 이벤트의 대문자 사용 규칙과 일치한다는 것을 inst_retired
알았습니다 . inst_retired.any
따라서 도구에서 이름이 변경될 가능성이 높습니다. 나는 뛸 수 있습니다
perf stat -e inst_retired.any,cycles sleep 2
그리고 얻다
Performance counter stats for 'sleep 2':
1.600.192 inst_retired.any
2.142.871 cycles
2,001396579 seconds time elapsed
0,000000000 seconds user
0,001231000 seconds sys
이 Intel(12/13세대 아님) 머신에서.
답변2
INST_RETIRED.ANY가 구문 분석 오류를 반환하는 이유는 perf 버전이 일치해야 하는 Linux 버전과 일치하지 않기 때문입니다.
이 기계는 기계가 올바르게 설정되어 있다고 생각하는 누군가로부터 받았기 때문에 버전이 일치하지 않는지 확인하는 데 신경 쓰지 않았습니다. 다행스럽게도 한 논평자는 perf 버전을 확인해 보라고 제안하여 문제를 해결했습니다.