简介
本文档介绍在Cisco IOS® XR上聚合服务路由器(ASR)9K的优势和调试能力折衷方案。
什么是踪迹?
Ltrace在Cisco IOS XR中广泛用于调试目的。Cisco IOS XR中的每个进程都使用存储在内存中的跟踪,因此会在路由器运行期间随着跟踪增长消耗内存。
更改跟踪使用的配置
Cisco IOS XR版本5.3.2及更高版本引入了一些更改,通过两个地址提供更改跟踪使用情况的选项:
1. Cisco Bug ID CSCus39188 提供选项以使用scale选项限制ltrace shmem使用
2. Cisco Bug ID CSCus39159 在show memory summary中提供有关shmem使用情况和详细信息的更多详细信息
配置后需要重新加载才能使更改生效。
注:由于DDTS,Cisco Bug ID CSCuz22580 版本5.3.x上不能使用ltrace动态比例因子,因为它会导致交换矩阵卡持续崩溃。此命令可用于Cisco IOS XR版本6.0.x及更高版本的路由器。
默认行为
请注意Cisco IOS XR 5.3.2及更高版本上ASR9K路由器上的默认行为。
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线卡上为将ltrace减小到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:#
注:此配置更改将最大跟踪从以前的1884 M减少到141 M,将以前的148 M减少到31 M。通过减少跟踪获得的内存可用于思科IOS XR路由器的操作和进程。
不同尺度因子的比较
默认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
Shell命令
# show_memory -m
如果仅需要RP上的ltrace Reduction,如何避免机箱重新加载
- 仅提交两个路由处理器(RP)的配置更改。
- 备用路由交换机处理器(RSP)重新加载。
- 请选中show redundancy以确保RSP同时为备用和NSR就绪。
- RP FO,这会导致以前的活动RSP重新加载作为RP FO的一部分。
问题和解答
1.什么是跟踪及其在路由器操作中的用途?
Ltrace用于调试。几乎所有XR进程都在运行期间使用它们记录各种事件。这些跟踪有助于调试路由器的意外操作。
2.如何计算跟踪缩减?
如果默认比例因子值为1825 MB。如果扩展系数为8,则变为1825/8 = 228.125 ~= 248MB。
3.如何计算最大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使用量。例如,在具有6 GB物理内存的A9K-RSP440-TR上,使用8或16缩放因子减少跟踪会导致系统可用的大量内存,从而帮助缓解中断。
6.如何查找跟踪消费者组件?
通过运行和执行外壳CLI连接到RP或线卡LC du -sk /dev/shmem/ltrace/* | sort -n.