소개
이 문서에서는 Cisco IOS® XR의 ASR(Aggregation Services Router) 9K에 대한 추적 감소 및 디버깅 기능 트레이드오프에 대해 설명합니다.
Ltraces란 무엇입니까?
Ltraces는 디버깅 목적으로 Cisco IOS XR에서 광범위하게 사용됩니다. Cisco IOS XR의 모든 프로세스는 메모리에 저장된 추적을 사용하므로 라우터 작동 시 증가하는 메모리를 사용합니다.
ltrace 사용을 변경할 컨피그레이션
Cisco IOS XR 릴리스 5.3.2 이후 버전에서는 두 개의 dtd를 통해 ltrace 사용을 변경하는 옵션을 제공하는 변경 사항이 적용되었습니다.
1. Cisco 버그 ID CSCus39188 Scale 옵션을 사용하여 ltrace shmem 사용을 제한하는 옵션 제공
2. Cisco 버그 ID CSCus39159 show memory summary에 shmem usage 및 details에 대한 자세한 정보 제공
컨피그레이션 후 Reload(다시 로드)를 수행해야 변경 사항이 적용됩니다.
참고: DDT Cisco 버그 ID CSCuz로 인해22580 ltrace dynamic scale factor는 패브릭 카드가 지속적으로 충돌하므로 릴리스 5.3.x에서 사용할 수 없습니다. 이 명령은 Cisco IOS XR Release 6.0.x 이상의 라우터에서 사용할 수 있습니다.
기본 동작
Cisco IOS XR 5.3.2 이상의 ASR9K 라우터의 ltrace pov에서 기본 동작을 확인하십시오.
RP/0/RSP1/CPU0:#show shmem summary location 0/1/cPU0
Total Shared memory: 1608M
ShmWin: 389M
Image: 882M
LTrace: 148M
AIPC: 27M
SLD: 3M
SubDB: 1016K
CERRNO: 144K
GSP-CBP: 62M
EEM: 0
XOS: 4M
CHKPT: 2M
CDM: 3M
XIPC: 1M
DLL: 64K
SysLog: 0
Miscellaneous: 81M
LTrace usage details:
Used: 148M, Max: 1884M
Current: default(dynamic)
Configured: dynamic with scale-factor: 16 (changes take effect after reload)
구성 변경
컨피그레이션 후, 슬롯 1 라인 카드에서 16의 배율로 추적을 줄이기 위해 변경된 사항을 소개합니다.
RP/0/RSP1/CPU0:#config t
RP/0/RSP1/CPU0:(config)#ltrace mode dynamic scale-factor 16 location 0/1/cpu0
RP/0/RSP1/CPU0:(config)#commit
RP/0/RSP1/CPU0:(config)#
다시 로드 후
LC 다시 로드 후 Ltrace 사용:
RP/0/RSP1/CPU0:#show run | i ltrace
ltrace mode dynamic scale-factor 16 location 0/1/CPU0
RP/0/RSP1/CPU0:#show shmem summary location 0/1/CPU0
Total Shared memory: 1484M
ShmWin: 383M
Image: 882M
LTrace: 31M
AIPC: 27M
SLD: 3M
SubDB: 1016K
CERRNO: 144K
GSP-CBP: 62M
EEM: 0
XOS: 4M
CHKPT: 2M
CDM: 3M
XIPC: 1M
DLL: 64K
SysLog: 0
Miscellaneous: 80M
LTrace usage details:
Used: 31M, Max: 141M
Current: dynamic with scale-factor: 16
Configured: dynamic with scale-factor: 16
RP/0/RSP1/CPU0:#
참고: 이 컨피그레이션 변경으로 최대 ltrace가 이전 1884M에서 141M로, 이전 148M에서 31M로 줄었습니다. 추적 감소로 얻은 메모리는 Cisco IOS XR Router 작업 및 프로세스에 사용할 수 있습니다.
다양한 척도요소의 비교
기본 ltrace
LTrace usage details:
Used: 563M, Max: 3612M
Current: default(dynamic)
Configured: default(dynamic)
규모 요소 8에 대해
LTrace usage details:
Used: 76M, Max: 436M
Current: dynamic with scale-factor: 8
Configured: dynamic with scale-factor: 8
규모 요인 16
Used: 31M, Max: 141M
Current: dynamic with scale-factor: 16
Configured: dynamic with scale-factor: 16
ASR9K에서 32비트 및 64비트의 CLI 차이점
32비트 명령
RP/0/RSP1/CPU0:#show shmem summary location 0/2/CPU0
64비트 명령
RP/0/RSP1/CPU0:# show shared-memory location 0/RSP0/CPU0>>>>>> This cli is not supported on releases prior to 712/721
셸 명령
# show_memory -m
RP에서만 ltrace 감소가 필요한 경우 섀시 재로드를 방지하는 방법
- 두 RP(Route Processor) 모두에 대한 컨피그레이션 변경 사항을 커밋합니다.
- RSP(Standby Route Switch Processor) 다시 로드
- RSP가 스탠바이-레디 및 NSR-레디 상태인지 확인하려면 show redundancy를 선택하십시오.
- RP FO - RP FO의 일부로서 이전의 활성 RSP 다시 로드를 초래합니다.
질문과 대답
1. 라우터 운영에서 추적과 그 목적은 무엇입니까?
Ltraces는 디버깅에 사용됩니다. 거의 모든 XR 프로세스에서는 이를 사용하여 작업 중에 모든 종류의 이벤트를 기록합니다. 이러한 추적은 라우터의 예기치 않은 작업을 디버깅하는 데 도움이 됩니다.
2. 감소 효과는 어떻게 계산됩니까?
기본 배율 계수의 값이 1825MB인 경우 배율 8이면 1825/8 = 228.125 ~= 248MB가 됩니다.
3. 최대 ltrace 값은 어떻게 계산됩니까?
Maximum(최대값)은 최대 메모리 ltraces(ltraces)에서 사용할 수 있는 최대 메모리 용량을 나타냅니다. 이는 ltrace 관리를 담당하는 프로세스에서 요청한 여러 프로세스 및 누적 ltrace 메모리를 기반으로 합니다.
기본적으로 ltrace는 클라이언트에 하나의 청크에서 요청된 메모리를 제공하지 않습니다. 이 작업은 사용량에 따라 동적으로 수행됩니다. 즉, 정적 구성과 동적 구성이 그림으로 나타납니다.
반면 'Used'는 ltrace의 모든 클라이언트에서 현재 사용 중인 현재 공유 메모리를 제공합니다.
RP/0/RSP0/CPU0:#show shmem summary location 0/0/CPU0
Total Shared memory: 1395M
ShmWin: 630M
Image: 407M
LTrace: 173M
AIPC: 28M
SLD: 3M
SubDB: 1016K
CERRNO: 144K
GSP-CBP: 58M
EEM: 0
XOS: 4M
CHKPT: 2M
CDM: 3M
XIPC: 1M
DLL: 64K
SysLog: 0
Miscellaneous: 80M
LTrace usage details:
Used: 173M, Max: 1825M
Current: default(dynamic)
Configured: default(dynamic)
4. 컨피그레이션 변경에 따른 추적 감소의 장단점은 무엇입니까?
기본값과 다른 스케일 팩터의 컨피그레이션 커밋 변경을 통해, ltrace 스토리지의 버퍼가 줄어들기 때문에 디버깅 가능성에서 트레이드 오프가 있는 라우터에 더 많은 공유 메모리를 사용할 수 있습니다.
5. 권장되는 값은 무엇입니까?
이는 실제 추적 감소의 필요성에 따라 달라집니다. 그러나 설치된 물리적 메모리가 적은 RSP에서 ltrace 사용을 줄이는 것이 좋습니다. 예를 들어, 6GB의 물리적 메모리가 있는 A9K-RSP440-TR에서 8 또는 16의 확장 인자로 추적을 줄이면 시스템 사용에 사용할 수 있는 메모리가 많아지므로 중단 완화에도 도움이 됩니다.
6. ltrace 소비자 구성 요소를 찾는 방법?
실행을 통해 RP 또는 라인 카드 LC에 연결하고 du -sk /dev/shmem/ltrace/* | sort -n.