目录

简介

什么是踪迹？

更改跟踪使用的配置

默认行为

配置更改

重新加载后

不同尺度因子的比较

默认ltrace

关于8的尺度因子

关于比例因子16

ASR9K上32位和64位CLI的差异

32位命令

64位命令

Shell命令

如果仅需要RP上的ltrace Reduction，如何避免机箱重新加载

问题和解答

简介

本文档介绍在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.