스핀 잠금 보고서는 스핀 잠금에 대한 다음 정보를 제공합니다.
- 획득 샘플 속도
- 경합 샘플 속도
- 스핀 임계값
- CPU 수
- CPU 속도(메가헤르츠)
- 추적 길이(나노초)
- 추적 길이(주기)
Spinlock 보고서 섹션
보고서의 다음 섹션에서는 프로필 기간 동안의 스핀 잠금 사용량을 보여 줍니다.
개별 스핀 잠금
각 스핀 잠금은 별도로 표시됩니다. 스핀 잠금은 먼저 표시된 “가장 많이 사용되는” 스핀 잠금으로 정렬됩니다. 종종 상위 몇 개의 스핀 잠금을 확인하여 스핀 잠금 병목 상태를 식별할 수 있습니다.
각 스핀 잠금에 대해 다음 정보가 표시됩니다.
- 잠금 유형
- 잠금의 커널 주소
- 잠금의 기호(동적으로 생성된 스핀 잠금에는 기호가 없음)
요약 보고서 섹션
요약 보고서는 다음과 같은 정보를 제공합니다.
- 잠금 획득에 소요된 CPU 시간의 백분율
- 잠금 경합에 소요된 CPU 시간의 백분율
- 잠금 획득률
- 충돌 속도
- 스핀 속도
- 샘플링 및 정규화된 경합률
보고서의 마지막 두 섹션은 인터럽트와 릴리스 함수로 인해 건너뛴 이벤트입니다.
인터럽트로 인해 건너뛴 이벤트
스핀 잠금이 유지되는 동안 인터럽트가 발생할 수 있습니다. 이 경우 인터럽트 처리 시간이 스핀 잠금 유지 시간에 포함되고 스핀 잠금 유지 시간은 상당히 길어 보입니다. Xperf는 스핀 잠금 유지 시간을 계산할 때 인터럽트를 처리하는 동안 발생하는 스핀 잠금 이벤트는 포함하지 않습니다.
Events skipped due to interrupts 줄은 계산에 포함되지 않은 이벤트 수를 표시합니다. 이 숫자는 일반적으로 매우 작습니다.
릴리스 함수
스핀 잠금은 다른 코드 경로에서 획득하거나 해제할 수 있습니다. 스핀 잠금의 릴리스 함수 목록이 보고서 끝에 표시됩니다. 목록은 스핀 잠금 유지 시간을 기준으로 정렬됩니다. 획득 또는 경합과 같은 특정 릴리스 함수에 대한 추가 정보도 제공됩니다.
예제
다음 예제에서는 스핀 잠금 데이터의 요약을 가져오는 방법을 보여 줍니다.
xperf -i example.etl -symbols -o example.txt -a spinlock -summary
다음 예제에서는 가장 활성인 상태의 5개의 스핀 잠금으로 반환되는 레코드 수를 제한하는 방법을 보여 줍니다.
xperf -i example.etl -symbols -o example.txt -a spinlock -summary -counts 5