11.3. perf 출력 및 기호 확인 이해
perf top 모니터링 인터페이스는 CPU 사용량 및 기능 활동에 대한 실시간 보기를 제공합니다. 출력을 이해하면 성능 병목 현상을 식별하고 시스템 동작을 최적화하는 데 도움이 됩니다.
- perf top output의 키 열
- 인터페이스에는 다음과 같은 여러 열이 표시됩니다.
- 오버헤드
-
지정된 함수에서 사용하는 CPU 시간의 백분율을 표시합니다. 이렇게 하면
리소스를 가장 많이 사용하는작업을 정확하게 파악하는 데 도움이 됩니다. - 공유 오브젝트
- 함수가 있는 프로그램 또는 라이브러리의 이름을 나타냅니다.
- 기호
함수 또는 기호의 이름을 표시합니다.
- 커널 공간에서 실행되는 기능은 [k]로 표시됩니다.
- 사용자 공간에서 실행되는 기능은 [.]로 표시됩니다.
- perf 출력에서 해결되지 않은 기호의 원인
커널 함수의 경우
perf는/proc/kallsyms파일의 정보를 사용하여 샘플을 해당 함수 이름 또는 기호에 매핑합니다. 그러나 사용자 공간에서 실행되는 함수의 경우 바이너리가 제거되므로 원시 함수 주소가 표시될 수 있습니다.이 정보는 해당 debuginfo 패키지를 설치하거나
gcc에서-g옵션을 사용하는 등 디버깅이 활성화된 애플리케이션을 컴파일하여 포함할 수 있습니다. 필요한 디버그 정보를 사용할 수 있게 되면perf는 보고 중에 샘플 주소를 사람이 읽을 수 있는 함수 이름에 정확하게 매핑할 수 있습니다.참고디버그 정보를 사용할 수 있게 되면
perf record명령을 다시 실행할 필요가 없습니다.perf report명령을 다시 실행하면 해결된 기호가 반영됩니다.