26장. 잘못된 공유 감지
거짓 공유는 SMP(Simmetric Multi Processing) 시스템의 프로세서 코어가 다른 프로세서에서 사용 중인 동일한 캐시 라인의 데이터 항목을 수정하여 프로세서 간에 공유되지 않는 다른 데이터 항목에 액세스할 때 발생합니다.
이러한 초기 수정을 위해서는 캐시 라인을 사용하는 다른 프로세서에서 복사본을 무효화하고 프로세서가 필요하지 않거나 수정된 데이터 항목의 업데이트된 버전에 액세스해야 합니다.
perf c2c
명령을 사용하여 잘못된 공유를 탐지할 수 있습니다.
26.1. perf c2c의 목적
perf
툴의 c2c
하위 명령은 Shared Data Cache-to-Cache(C2C) 분석을 활성화합니다. perf c2c
명령을 사용하여 캐시 라인 경합을 검사하여 true 및 false 공유를 탐지할 수 있습니다.
SMP(Symetric Multi Processing) 시스템의 프로세서 코어가 다른 프로세서에서 사용 중인 동일한 캐시 라인의 데이터 항목을 수정할 때 캐시 라인이 발생합니다. 이 캐시 라인을 사용하는 다른 모든 프로세서는 해당 사본을 무효화하고 업데이트된 프로세서를 요청해야 합니다. 이로 인해 성능이 저하될 수 있습니다.
perf c2c
명령은 다음과 같은 정보를 제공합니다.
- 경합이 감지된 캐시 라인
- 데이터 읽기 및 작성 프로세스
- 경합을 유발하는 명령
- 경합과 관련된 NUMA(Non-Uniform Memory Access) 노드