기본적으로 시스템은 1,000개의 경합되지 않은 획득마다 하나의 스핀 잠금 이벤트와 경합된 모든 획득에 대해 하나의 스핀 잠금 이벤트를 기록합니다. 스핀 잠금 데이터 컬렉션은 데이터 수집을 사용자 지정할 수 있는 세 가지 매개 변수를 지원합니다. 스핀 잠금 컬렉션 매개 변수를 설정하려면 다음 명령을 사용합니다.
xperf -setspinlocksample [spin_threshold] [acquire_sample_rate] [contention_sample_rate]
매개 변수
spin_threshold
스핀 잠금 계측은 경합이 심한 잠금을 추적하는 기능을 제공합니다. 이는 높은 스핀 임계값을 설정하여 수행됩니다. 잠금이 이 임계값보다 작으면 스핀 잠금 이벤트가 기록되지 않습니다. 예를 들어 이 값이 1이면 잠금을 획득하려는 각 시도에 대해 하나의 스핀 잠금 이벤트가 획득됩니다. 이 값이 10이면 잠금을 획득하려는 10회의 시도마다 하나의 스핀 잠금 이벤트가 기록됩니다. 기본값은 1입니다.
acquire_sample_rate
추적 중에 스핀 잠금 이벤트가 기록되는 샘플 속도입니다. 예를 들어 이 값이 1,000이면 각 1,000개의 비 충돌 이벤트 획득에 대해 하나의 스핀 잠금 이벤트가 기록됩니다. 기본값은 1000입니다.
contention_sample_rate
충돌이 발생할 때 스핀 잠금 이벤트가 기록되는 속도입니다. 예를 들어 이 값이 100이면 각 100개의 스핀 잠금 충돌에 대해 하나의 스핀 잠금 이벤트가 기록됩니다. 기본값은 1입니다.
설명
시스템이 다시 부팅되면 스핀 잠금 컬렉션 매개 변수가 기본값으로 반환됩니다. 유효한 데이터 수집을 확인하려면 이벤트 데이터 수집을 시작하기 전에 항상 스핀 잠금 매개 변수를 쿼리하거나 설정합니다.
예제
다음 예제에서는 현재 값을 쿼리하는 방법을 보여 줍니다.
xperf -spinlock
다음 예제에서는 스핀 임계값을 1로 설정하고 획득 샘플 속도는 1,000으로 설정하고 스핀 잠금 경합 샘플 속도를 100으로 설정합니다.
xperf -setspinlocksample 1 1000 100
이 쿼리는 이전 예제에서 설정한 값에 대해 다음 결과를 반환합니다.
Current Spinlock Spin Threshold = 1
Current Spinlock Acquire Sample Rate = 1000
Current Spinlock Contention Sample Rate = 100