26.5. perf c2c를 사용하여 false 공유 감지
다음 절차에서는 perf c2c
명령을 사용하여 false 공유를 감지하는 방법을 설명합니다.
사전 요구 사항
-
perf
사용자 공간 도구가 설치됩니다. 자세한 내용은 perf 설치를 참조하십시오. -
perf
파일은 현재 디렉터리에서 사용할 수 있습니다. 자세한 내용은 perf c2c를 사용하여 캐시 라인 경합 탐지를 참조하십시오.c2c 명령을 사용하여 기록된 perf
.data
절차
추가 분석을 위해
perf.data
파일을 엽니다.# perf c2c report --stdio
그러면 터미널에서
perf.data
파일이 열립니다."Trace Event Information(Trace Event Information)" 표에서 HITM(Remote Cache)의 값이 포함된 행을 찾습니다.
HI TM(Remote Caches to Remote Cache) 행의 value 열에 있는 백분율은 수정된 캐시 라인에서 NUMA 노드에서 발생한 LLC 누락 비율을 나타내며 핵심 표시자 false 공유가 발생한 것입니다.
================================================= Trace Event Information ================================================= Total records : 329219 Locked Load/Store Operations : 14654 Load Operations : 69679 Loads - uncacheable : 0 Loads - IO : 0 Loads - Miss : 3972 Loads - no mapping : 0 Load Fill Buffer Hit : 11958 Load L1D hit : 17235 Load L2D hit : 21 Load LLC hit : 14219 Load Local HITM : 3402 Load Remote HITM : 12757 Load Remote HIT : 5295 Load Local DRAM : 976 Load Remote DRAM : 3246 Load MESI State Exclusive : 4222 Load MESI State Shared : 0 Load LLC Misses : 22274 LLC Misses to Local DRAM : 4.4% LLC Misses to Remote DRAM : 14.6% LLC Misses to Remote cache (HIT) : 23.8% LLC Misses to Remote cache (HITM) : 57.3% Store Operations : 259539 Store - uncacheable : 0 Store - no mapping : 11 Store L1D Hit : 256696 Store L1D Miss : 2832 No Page Map Rejects : 2376 Unable to parse data source : 1
공유 데이터 캐시 라인 테이블의 LLC Load Hitm 필드의 Rmt 열을 검사합니다.
================================================= Shared Data Cache Line Table ================================================= # # Total Rmt ----- LLC Load Hitm ----- ---- Store Reference ---- --- Load Dram ---- LLC Total ----- Core Load Hit ----- -- LLC Load Hit -- # Index Cacheline records Hitm Total Lcl Rmt Total L1Hit L1Miss Lcl Rmt Ld Miss Loads FB L1 L2 Llc Rmt # ..... .................. ....... ....... ....... ....... ....... ....... ....... ....... ........ ........ ....... ....... ....... ....... ....... ........ ........ # 0 0x602180 149904 77.09% 12103 2269 9834 109504 109036 468 727 2657 13747 40400 5355 16154 0 2875 529 1 0x602100 12128 22.20% 3951 1119 2832 0 0 0 65 200 3749 12128 5096 108 0 2056 652 2 0xffff883ffb6a7e80 260 0.09% 15 3 12 161 161 0 1 1 15 99 25 50 0 6 1 3 0xffffffff81aec000 157 0.07% 9 0 9 1 0 1 0 7 20 156 50 59 0 27 4 4 0xffffffff81e3f540 179 0.06% 9 1 8 117 97 20 0 10 25 62 11 1 0 24 7
이 테이블은 캐시 라인당 감지된 원격 Hitm 의 양만큼 내림차순으로 정렬됩니다. LLC Load Hitm 섹션의 Rmt 열에 있는 높은 숫자는 false 공유를 나타내며 false 공유 활동을 디버깅하는 데 발생한 캐시 행을 추가로 검사해야 합니다.