perf
현재 실행 중인 Linux 커널과 일치하지 않는 임의의 바이너리를 실행하려고 하면 다음이 표시됩니다.
$ perf
WARNING: perf not found for kernel 4.13.0-45
물론 이 버전을 받으면 perf
작동할 것입니다.
다음과 같은 인기 있는 리소스를 확인해 보세요.Linux 성능 예시그리고성능 위키이 특정 질문에 대한 답변을 찾을 수 없습니다.perf
커널 버전과 엄격하게 동일해야 하는 이유는 무엇입니까 ?
답변1
perf
이는 커널과 매우 밀접하게 관련되어 있으며 perf
실제로 커널 소스 코드의 일부입니다. 기본적으로 이를 커널별 도구로 생각해야 하지만 Linux 배포판의 패키징 관행 및 요구 사항은 사용자가 결국 이를 "표준" 도구로 취급하게 된다는 것을 의미합니다.
perf
커널에는 특별한 개인 인터페이스가 없으므로 커널의 지원 부분은 일반적인 사용자 공간 지향 규칙을 따라야 합니다.perf
perf
즉perf
이전 버전과의 호환성을 유지하므로 최신 커널은 perf
이전 버전과 통신하는 데 사용하는 모든 인터페이스를 지원해야 하기 때문에 이론적으로 최신 커널로 이전 버전을 실행하는 것이 가능합니다 . 그러나 실제로 perf
특정 코어에서 워크로드 성능을 연구할 수 있어야 하는 경우 해당 특정 코어의 성능에 영향을 미치는 모든 기능도 연구할 수 있어야 합니다. 이전 버전은 perf
릴리스 이후에 추가된 기능을 지원할 수 없습니다. 따라서 일반적으로 일치하는 버전이 필요하게 됩니다 perf
. 이 모든 것 때문에 실용적인 선택은 perf
실행 중인 커널과 일치하는 버전을 요구하는 것입니다.
배포판의 패키징 선택에 따라 실행 중인 커널과 일치하는 구현을 확인하고 찾을 수 없으면 실패하는 perf
프런트엔드일 수도 있고 자체 버전일 수도 있습니다. 너무 오랫동안 테스트하지는 않았지만 현재 버전은 4.19 커널의 5.6.14 및 5.7.7 과 같은 이전 커널에서 잘 실행됩니다 .perf
perf
perf
perf