为什么“显示邻接”需要这么长时间才能运行?


9

为什么“ show adjacency”命令Cisco IOS软件,7200软件(C7200P-SPSERVICESK9-M),版本12.4(4)XD5,发行软件(fc1)运行需要这么长时间(以分钟为单位)? 该路由器是运行BGP的Internet边缘路由器吗?地址后面的“(5)”,“(10003)”或“(75845)”是什么意思?它似乎主要枚举直接连接的/ 23网络上的地址。CPU <2%,并且内存似乎不是造成此问题的原因。

r-x-y-edge1#sh adjacency
Protocol Interface                 Address
IP       GigabitEthernet0/2        x.67.155.9(5)
IP       GigabitEthernet0/2        x.67.155.8(5)
IP       GigabitEthernet0/2        x.67.155.11(5)
IP       GigabitEthernet0/2        x.67.155.10(5)
IP       GigabitEthernet0/2        x.67.155.13(5)
IP       GigabitEthernet0/2        x.67.155.12(5)
IP       GigabitEthernet0/2        x.67.155.15(5)
IP       GigabitEthernet0/3        172.31.4.130(10003)
IP       Serial1/0                 point2point(75845)
...
<truncated>

CPU utilization for five seconds: 2%/1%; one minute: 3%; five minutes: 3%

Processor Pool Total:  864815572 Used:  547631528 Free:  317184044
      I/O Pool Total:   67108864 Used:    4520592 Free:   62588272

有没有办法在关闭会话之前中断该命令的执行,因为Ctrl- ^ x没有任何作用?


您是否尝试过不同版本的IOS?显示结果总是花费很长时间还是刚刚开始发生?
Adam Loveless

Ctrl-Shift-6是IOS中的中断顺序。
优素福·冈斯堡

1
请详细说明“ show adj”需要多长时间
Mike Pennington

1
该代码版本不仅很旧(4年以上),甚至在该系列中也被许多次取代。肯定已经对CEF处理进行了修复和更改,并且倾向于建议您最好对最新的(或最终的列车内)代码修订版进行故障排除。
rnxrx

1
@rnxrx,我希望至少对该代码版本的年龄发表评论。为您投票。
generalnetworkerror

Answers:


8

您是否检查过是否禁用了域查找?(no ip domain lookup

您的命令可能要花费很长时间才能返回,因为它试图将所有IP解析为主机名。


这是一个有趣的建议-我不认为IOS会尝试这样做名称解析为CEF邻接条目,因为他们中的大多数将代表一个长度<32前缀
约翰·延森

我配置了“ ip域名”和“ ip域名列表”,但是没有“ ip名称服务器”。设置几个名称服务器使输出几乎立即显示出来。
generalnetworkerror

太棒了!喜欢学习新事物。
约翰·詹森

@David很棒,我也没有想到。不像在VTY行下缺少“传输首选没人”那样,众所周知的DNS灾难:)
ytti

感谢小组中更有经验的网络工程师的意见;我不觉得难过是因为反向查找使我感到困惑。
generalnetworkerror

4

地址后面的“(5)”,“(10003)”或“(75845)”是什么意思?

括号中的值是指FIB条目指向邻接条目的次数。这里提到。


2

路由器是否收满桌子?如果是这样的话,我想我花了很长的时间就不会感到惊讶,因为它必须解决许多代表一个完整表到出口接口的网络(RIB-> FIB)。还请记住,7200仍然是基于软件的转发平台。就更快的速度而言,您上方还有3层CEF。

如果其中许多邻接是平底锅邻接(必须将其打入下一级转换方法的条目)或收集邻接,这也可以解释为什么要花费很长时间-我想像是他们的数量将是-再次,仍然假设这里是一张完整桌子。

括号中的数字称为引用计数,它表示FIB条目指向邻接关系的次数。

编辑:关于取消命令,请尝试按Ctrl + C(反复)-有时,这对于我杀死长时间运行的命令很有用。OTOH如果我知道该命令将产生大量输出,则将“终端长度”设置为“ 50”之类的方式,这样我可以选择通过输出分页来终止该命令。


约翰,您好,我不确定我是否遵循有关CEF的另外3层的评论...您能详细说明吗?
Mike Pennington

当然-通常,我在谈论“最佳”(根据Cisco)的交换方法,依次为:硬件dCEF->硬件CEF-> PXF交换->基于软件的CEF->快速交换->进程交换
John Jensen

但是我不明白为什么提及其他交换路径很重要... AFAIK,其他交换路径在移动数据包方面更有效,与在7200路由器上转储邻接表所需的时间无关。
Mike Pennington

与我的观点相关的是,7200是基于软件的平台,而不是像cat65k或7600这样在硬件中执行CEF的平台。似乎可以肯定的假设是,在硬件中执行CEF的平台在转储邻接时会表现出一点点敏捷,不是吗?说实话,尽管我在7200上的生产经验有限,但我一直很“幸运”,可以与更大的基于ASIC的多级箱一起工作。
约翰·詹森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.