路由器 : ?? 10000 ?????

Cisco 12000, 10000, 7600和7500系列路由器:排除IPC-3-NOBUFF消息故障

2016 年 10 月 24 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 4 月 22 日) | 反馈


目录


简介

本文为什么解释您的路由器报告IPC相关的日志消息和如何排除故障此问题。本文也包括IPC术语回顾。

先决条件

要求

本文档的读者应掌握以下这些主题的相关知识:

  • Cisco路由器管理

  • IPC和其术语

使用的组件

本文档中的信息基于以下软件和硬件版本:

  • 支持Cisco 12000的所有Cisco IOSï ¿  ½软件版本, 10000, 7600和7500系列路由器。

  • Cisco 12000, 10000, 7600和7500系列路由器。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

背景信息

Cisco IOS软件进程间通信(IPC)模块提供在分布式系统的进程能彼此呼应的一个通信基础设施。它也提供在背板、网络和共享内存间的透明通信。

IPC服务担当的线卡的方法(LCs),并且在分布式系统的中央路由处理器(RP)与彼此联络通过IPC发送的消息交换从RP的到LCs,并且在活动和待机RP之间。这些消息包括配置命令和答复对那些命令并且“事件”该需要由LC报告到RP。

Cisco 12000系列, Cisco 10000系列, Cisco 7600系列和分布式体系结构根据IPC消息的Cisco 7500系列使用。在少见情况下,这些路由器可能汇报这些IPC相关的日志消息:

  • Cisco 12000系列– %IPC-3-NOBUFF :主要IPC信息报头缓存倒空了

  • Cisco 7500系列– %IPC_RSP_CBUS-3-NOBUF :传送IPC信息的没有IPC MEMD缓冲区

注意: IPC在Cisco 6400系列和Cisco 7304系列也使用。

IPC 术语基本原理

更加普通的IPC术语是:

  • IPC –进程间通信。

  • IPC地址–撰写16位位置ID和16位端口ID的32位词。

  • IPC客户端–使用IPC服务的软件模块。

  • IPC波尔特–在作为所有通信的源和目的使用的IPC内的一个通信终端。

  • IPC位置– IPC位置是一个计算元素,例如处理器,可以在IPC帮助下传达。IPC位置是IPC客户端和端口驻留的地方。

  • IPC会话– IPC会话是在两个IPC端口之间的活动单向通信通信通道。

使用IPC的所有通信发生在IPC端口之间。端口是在IPC的一个通信终端。每个IPC端口关联与呼叫IPC地址的逻辑地址。IPC使用IPC端口的IPC地址作为回复地址,当传送IPC信息时,或者目的地址,当收到IPC消息时。

IPC地址格式

IPC地址分配到IPC端口由本地IPC定位管理器。位置是IPC协议当前执行的处理器。位置管理器是维护本地IPC端口和本地名服务列表的进程,并且保养开放IPC通信会话。

当IPC端口创建时, IPC客户端分配端口名称到IPC端口。当他们参考新建立的IPC端口,其他IPC客户端能然后使用端口命名。端口名称是包括位置名称和端口功能或者说明的字符串。

思科IPC有三个不同的级别在交付的可靠性对端口;当打开时,这定义端口。

  • 可靠:消息的交付保证。在失败,交付将再试。

  • 不可靠:交付是一最佳效果尝试。如果交付发生故障,没有征兆。

  • 不可靠与通知:消息的交付没有保证。然而,发送方接收失败的通知。

show ipc nodes命令显示IPC位置现在所谓的IPC领域。

Router#show ipc nodes 
     There are 3 nodes in this IPC realm. 
          ID Type       Name                         Last  Last 
                                                     Sent  Heard 
       10000 Local      IPC Master                   0      0 
     1030000 RSP-CY     RSP IPC card slot 3          7      7 
     1000000 RSP-CY     RSP IPC card slot 0          10     10

当从RP存在时,如从Cisco 10000系列路由器的此输出示例:所显示show ipc nodes命令列出从RP地址, :

10k-2#show ipc nodes 
        There are 5 nodes in this IPC realm. 
           ID   Type       Name                      Last  Last 
                                                     Sent  Heard 
        10000   Local      IPC Master                0     0 
        20000   UDP        C10K Line Card slot 2/0   3     3    
        30000   UDP        C10K Line Card slot 3/0   3     3    
        40000   UDP        C10K Line Card slot 1/0   3     3
        50000   Ethernet   Slave                     18    45

在它创建IPC端口后, IPC客户端可能然后注册其与IPC控制的全局名称服务的端口名万事达。

IPC位置的一集,与彼此联络,呼叫区域。对于每个IPC区域,单个IPC位置被选定IPC区域管理器或万事达,或者IPC简称掌握。逻辑上,在IPC协议的所有IPC位置连接是点对点连接。所有IPC位置通信典型地在激活RP和线卡之间或者待机RP。对线卡通信的线卡是可能的。

在交换所有IPC消息前,设备必须创建本地端口和找出目的地端口。虽然设备创建本地端口,这些端口没有认为源端口,因为IPC通信单工。当RP要与LC时联络,首先打开在LC (LC需要的端口创建端口和注册它与IPC万事达- RP)。当开放成功时,正常IPC信息流量能开始。

Cisco 12000及7500系列,路由处理器,千兆路由处理器(GRP)或路由交换机处理器(RSP)和智能线卡作为IPC终端。“IPC掌握”控制处理器的一组。当路由器初始化, IPC万事达发现IPC终端在系统的线卡。要执行如此, IPC万事达扫描所有slot,识别控制器类型,并且确定控制器是否有IPC功能。

/image/gif/paws/21165/ipc.gif

请使用show ipc ports命令查看这些端口。在IPC从,此命令一览表在该特定IPC位置创建的端口。当发出在IPC万事达,此命令显示在万事达创建的端口,并且由IPC从属的端口(LCs)注册。另外, show ipc ports open命令列出从此IPC位置打开了的端口。下面是示例输出:

router#show ipc ports
              There are 87 ports defined.
                   Port ID Type Name
            10000.1 unicast IPC Master:Zone
            10000.2 unicast IPC Master:Echo
           10000.3 unicast IPC Master:Control
            10000.4 unicast IPC Master:Init
     port_index = 0 seat_id = 0x1020000 last sent = 0 last heard = 1
     port_index = 1 seat_id = 0x1010000 last sent = 0 last heard = 1
     port_index = 2 seat_id = 0x1040000 last sent = 0 last heard = 1
     port_index = 3 seat_id = 0x1050000 last sent = 0 last heard = 1
     port_index = 4 seat_id = 0x1060000 last sent = 0 last heard = 1
     port_index = 5 seat_id = 0x1070000 last sent = 0 last heard = 1
     port_index = 6 seat_id = 0x1080000 last sent = 0 last heard = 1
     port_index = 7 seat_id = 0x1090000 last sent = 0 last heard = 1
     port_index = 8 seat_id = 0x10A0000 last sent = 0 last heard = 1
     port_index = 9 seat_id = 0x10B0000 last sent = 0 last heard = 1
     port_index = 10 seat_id = 0x1030000 last sent = 0 last heard = 1
         10000.5 unicast Remote TTY Server Port
     port_index = 0 seat_id = 0x1070000 last sent = 0 last heard = 2
     port_index = 1 seat_id = 0x1010000 last sent = 0 last heard = 2
     port_index = 3 seat_id = 0x1040000 last sent = 0 last heard = 2
     port_index = 4 seat_id = 0x1050000 last sent = 0 last heard = 2
                   Port ID Type Name
     port_index = 5 seat_id = 0x1060000 last sent = 0 last heard = 3
     port_index = 6 seat_id = 0x1080000 last sent = 0 last heard = 2
     port_index = 7 seat_id = 0x1090000 last sent = 0 last heard = 2
     port_index = 8 seat_id = 0x10A0000 last sent = 0 last heard = 2
     port_index = 9 seat_id = 0x10B0000 last sent = 0 last heard = 2
                    [output omitted]

当处理传入消息时, port_index字段是目的地IPC使用的会话ID。当从RP存在, show ipc ports命令备用端口信息,如此输出示例:所示:

10k-2#show ipc ports
There are 16 ports defined.
Port ID       Type       Name
10000.1     Unicast    IPC Master:Zone
10000.2     Unicast    IPC Master:Echo
10000.3     Unicast    IPC Master:Control
10000.4     Unicast    Microcode Server
10000.5     Unicast    RFS Server Port
10000.6     Unicast    Remote File System Server Port
10000.7     Unicast    Master : TTY Server Port
port_index = 0  seat_id = 0x50000   last sent = 0     last heard = 0
10000.8     Unicast    C10K Line Card API
port_index = 0  seat_id = 0x20000   last sent = 0     last heard = 58521
port_index = 1  seat_id = 0x30000   last sent = 0     last heard = 64235
port_index = 2  seat_id = 0x40000   last sent = 0     last heard = 13486
50000.3     Unicast    Slave IPC:Control
50000.9     Unicast    Secondary RFS Server Port 
50000.A     Unicast    Secondary Old RFS Server Port 
50000.8     Unicast    Slave : TTY Client Port 
50000.7     Unicast    Secondary Services Port
50000.B     Unicast    IF-con server port
50000.C     Unicast    RF : Standby
50000.D     Unicast    CF : Standby

什么信息需要通过 IPC 进行传输?

IPC消息是通信基本单元交换在IPC客户端之间。在正常操作时, RP和线卡通过IPC消息频繁地呼应。消息包括报头、源及目的地寻址信息和消息数据。

在IPC报头, IPC定义了修改接收处理IPC信息的几不同的消息标志。标志定义的,四标志与通信种类涉及使用(不可靠,不可靠与通知,可靠),另外四与Remote Procedure Call (RPC)处理消息传送或者的内部控制涉及,并且根本没有使用两。

这是一些个IPC客户端:

  • 命令由RP发送查询线卡对于信息例如版本、内存总量、接口统计信息、变化在接口状态上和配置数据。

  • 对命令的答复从RP,从线卡被发送到RP。在IPC消息包含的信息示例包括指示的计时的统计信息更新和窗口消息多少更多IPC消息线卡能排队。

  • 生成的事件或消息异步地。示例报告错误例如输入错误、残帧和巨人,以及报告统计信息和其他记帐信息,例如字节和数据包计数。

  • 在活动和待机RP之间的消息对检查点正常操作。

  • 一些Cisco IOS软件进程需要交换在线卡和路由处理器之间的信息。这些进程认为IPC应用程序。示例包括思科快速转发(CEF)和远程文件系统交换在Cisco 12000系列路由处理器之间的镜像。

  • 故障排除技术说明

表1列出IPC协议栈的层:

表1 – IPC协议栈的层

IPC协议栈
IPC应用程序
IPC方案
交换矩阵(12000系列)或CBUS (7500系列)数据层

IPC 消息如何传输

7500系列和12000系列路由器分配特殊的缓冲区存储为发射排队和等待从目的地IPC端口的确认的IPC消息。

Cisco 7500 系列

7500系列在系统信息包存储(MEMD)使用特殊的缓冲区。关于MEMD和7500体系结构的更多信息,请参阅什么原因"%RSP-3-RESTART :cbus complex"?并且了解CPU使用率达99%的VIP和接收端缓冲

在7500系列, IPC队列在处理器内存。在Cisco IOS中一些版本(请参阅下列的示例输出),在处理器内存的聚合IPC缓冲空间可以由ipc cache size命令调整。MEMD拿着不可能被调整的一些有限缓冲区。当IPC信息在的处理器内存时排队发送,并且,当有在MEMD时的若干可用空间, IPC消息“从处理器内存移动”到MEMD,在他们发送对LC前。

请使用show ipc queue命令查看IPC队列的状态。

Router#show ipc queue 
       There are 0 IPC messages waiting for acknowledgment in the transmit queue. 
       There are 0 IPC messages waiting for a response. 
       There are 0 IPC messages waiting for additional fragments. 
       There are 0 IPC messages currently on the IPC inbound.  
       There are 0 messages currently in use by the system.

注意: 这些队列是IPC维护的软件队列,并且不能与QA-ASIC硬件队列7500系列混淆。

Cisco 12000系列

在12000系列, GRP传送在交换矩阵的IPC信息。在启动,缓冲分割算法创建两套所谓的tofab (接收端)和frfab (传输端)内存的池。如show controller tofab queues命令(如下所示)的输出示例:所显示,两集是非IPC自由队列IPC队列。关于关于怎样的指导解释输出,请参阅Cisco 12000SERIES互联网路由器:常见问题

在Cisco 12000系列, GRP分配一定数量的信息标题在初始化。有完成的几修改改进这些报头的存储器分配。

Cisco IOS软件版本12.0(18)s/st增加信息标题默认号码创建在从1000的初始化到5000在GRP和LCs (请参阅跟随)的输出。从版本12.0(23)S和以后, IPC报头缓存允许动态地增长。因此,它不再需要手工被调整。

LCs维护在动态RAM (DRAM)的IPC信息报头。另外, LCs为IPC消息留出了在tofab的100缓冲区和fromfab内存。使用每已发送IPC信息, LC必须请求从缓存的一个IPC信息报头,然后发送请求对FrFab缓冲区管理ASIC (BMA)一IPC信息缓冲区的能使用传送信息到在结构的GRP。

LC-Slot1#show controllers tofab queues
       Carve information for ToFab buffers
         SDRAM size: 33554432 bytes, address: 30000000, carve base: 30029100
         33386240 bytes carve size, 4 SDRAM bank(s), 8192 bytes SDRAM pagesize, 2 carve(s)
         max buffer data size 9248 bytes, min buffer data size 80 bytes
         40606/40606 buffers specified/carved
         33249088/33249088 bytes sum buffer sizes specified/carved
             
             Qnum        Head    Tail    #Qelem  LenThresh
             ----        ----    ----    ------  ---------
           
        5 non-IPC free queues:
            20254/20254 (buffers specified/carved), 49.87%, 80 byte data size
              1          17297   17296    20254    65535
            12152/12152 (buffers specified/carved), 29.92%, 608 byte data size
              2          20548   20547    12152    65535
            6076/6076 (buffers specified/carved), 14.96%, 1568 byte data size
              3          32507   38582    6076     65535
            1215/1215 (buffers specified/carved), 2.99%, 4544 byte data size
              4          38583   39797    1215     65535
            809/809 (buffers specified/carved), 1.99%, 9248 byte data size
              5          39798   40606    809      65535
        IPC Queue:
            100/100 (buffers specified/carved), 0.24%, 4112 byte data size 
              30         72      71       100      65535
        Raw Queue:
              31         0       17302    0        65535
        
      [output omitted]

排除故障问题、已知bug和改进的步骤

步骤 1:调整IPC缓存

注意: 参见表2关于有列出的增强在此部分IOS版本的列表。

在少见情况下(例如,当很多信息需求交换在IPC客户端之间), IPC缓冲区高速缓存能变得耗尽。Cisco IOS软件使用这些日志消息报告此情况:

Oct 7 03:36:49: %RSP-3-RESTART: interface Serial0/0/4:1, not transmitting 
Oct 7 03:39:51: %IPC_RSP_CBUS-3-NOBUF: No more IPC memd buffers to transmit 
IPC message 
Oct 7 03:40:09: %RSP-3-RESTART: interface Serial0/0/2:1, not transmitting 
Oct 7 03:40:19: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/1/0, 
changed state to down 
Oct 7 03:40:19: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/1/1, 
changed state to down 
Oct 7 03:40:19: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/1/2, 
changed state to down 
Oct 7 03:40:19: %LINEPROTO-5-UPDOWN: Line protocol on InterfaceSerial0/1/3, 
changed state to down 
Oct 7 03:40:21: %IPC_RSP_CBUS-3-NOBUF: No more IPC memd buffers to transmit 
IPC message 
Oct 7 03:40:26: %FIB-3-FIBDISABLE: Fatal error, slot 0: IPC failure 
Oct 7 03:40:26: %FIB-3-FIBDISABLE: Fatal error, slot 1: IPC failure 
Oct 7 03:40:26: %FIB-3-FIBDISABLE: Fatal error, slot 4: IPC failure 
Oct 7 03:40:26: %FIB-3-FIBDISABLE: Fatal error, slot 5: IPC failure 
Oct 7 03:40:29: %LINEPROTO-5-UPDOWN: Line protocol on Interface

正象上述输出说明, RP禁用在所有线卡的CEF在此情况,因为不再能在IPC帮助下更新在线卡的CEF表。因此, FIBDISABLE消息报告所有线卡。

要解决这些种类失败, RP的IPC在线卡的缓存和IPC内存可能需要增加。在您如此前,使用show ipc status命令调查RP或LC或者两个是否用尽IPC缓冲区。采取此输出并且从RP和LC检查它。

最初,为所有系统分配的缓冲区默认号码在IPC帮助下是1000个被缓存的信息标题,在Inbound和Outbound消息中共享。基于安装的Cisco IOS版本软件, IPC缓存的信息标题数量是静态,动态或者可以被调整。

这是输出show ipc status命令从一个路由器以默认1000个信息标题。

注意: Cisco IOS软件版本12.2T及12.2S引入对此命令输出的更改。

router#show ipc status 
      IPC System Status:
      This processor is the IPC master server.
      1000 IPC message headers in cache 
      4049362 messages in, 92615 out, 4048932 delivered to local port, 
      352 acknowledgments received, 386 sent, 
      0 NACKS received, 0 sent, 
      15326 messages dropped on input, 154 messages dropped on output 
      0 no local port, 110 destination unknown, 0 no transport 
      0 missing callback or queue, 34 duplicate ACKs, 0 retries, 
      0 message timeouts. 
      0 ipc_output failures, 0 mtu failures, 
      7707 msg alloc failed, 0 emer MSG alloc failed, 0 no origs for RPC replies 
      0 pak alloc failed, 0 memd alloc failed 
      0 no hwq, 0 failed opens, 0 hardware errors

将分配的必需的数量内存取决于卡种类(RP或LC、RSP或者VIP)在平台和例如需要IPC应用程序的活动(分布式CEF)。

从Cisco IOS软件版本12.0(23)S、12.2(18)S和新的IOS系列12.3和12.3T, IPC信息缓存动态地被管理而不是IPC缓存的静态分配。对IPC信息缓存耗尽问题的建议方案由于突变性大量IPC流量将动态增长和收缩消息缓存。在初始化,系统分配消息一平台指定的默认号码。当自由消息数量缺乏“最低的”缓冲区时,通知关键后台进程增长缓存。这使IPC继续增长缓存适应其客户端需要。如果IPC从未最近使用分配的缓冲区指定的时间时间范围,此进程开始收缩。当到达默认容量时,缓存停下来收缩。此性能改进在CSCdv57496介绍。使用CSCdv57496的实施, ipc cache <size>命令不再工作,自动地完成。这在所有IPC平台间是有效。

重要提示:从Cisco IOS软件版本12.3(5.5)T,能力手工调整IPC缓存删除。请参阅CSCec17505 (仅限注册用户)欲知更多信息。

当您检查输出show ipc queue命令时,这是什么您必须发现:

c7500#show ipc queue

Message waiting for acknowledgement in  Tx queue :       0
Maximum acknowledgement msg usage in Tx queue :          0

Message waiting for additional Fragments      :          0
Maximum message fragment usage                :          0


There are 0 IPC messages waiting for a response.
There are 0 IPC messages currently on the IPC inboundQ.

Messages currently in use                     :          0
Message cache size                            :       1000
Maximum message cache usage                   :       1344
0 times message cache crossed 5000 [max]

Emergency messages currently in use           :          0

Inbound message queue depth 0
Zone inbound message queue depth 0

即的Cisco IOS软件版本,如果路由器运行不包括动态管理IPC缓存缓冲区在12.0(23)S之前制作镜像, 12.2(18)S, 12.3,并且12.3T、IPC缓存RP的和IPC内存在线卡可以手工增加。在您如此前,使用show ipc status命令调查RP, LC或者两个,是否用尽IPC缓冲区。采取此输出并且从RP和LC检查它。

如果需要,您能使用这些命令调整内存:

  • ipc cache 5000 configuration命令增加RP的IPC报头缓存。

  • ipc缓存<size> [slot {slot_num|所有}]命令增加Cisco 12000 LC的缓存。

注意: 当您分配IPC消息的时更多的内存,较少内存为其他进程是可用的。单个IPC信息的大小实际上变化用不同的Cisco IOS软件分组。请使用show memory summary命令证实是否有在处理器池的足够的可用存储器。

步骤 2:调整IPC吞吐量

注意: 参见表2关于有列出的增强在此部分IOS版本的列表。

在某些状况下,您可以要也调整在RP和LC之间的IPC吞吐量。这是特别是实际情形,当RP需要上传大CEF表到LC。例如,这可能发生,当路由器启动时,当获得从BGP对等体时的很多路由信息。您能配置缓冲在LC的额外的IPC以ip cef linecard ipc memory xxxxx命令增加IPC带宽。此命令由CSCds89515 (仅限注册用户)介绍。此内存的值设置为与CSCdu54205 (仅限注册用户)和CSCuk27162 (仅限注册用户)的一可接受默认。

这是指示结果的命令,当您更改此参数时:

Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#ip cef line ipc mem 20000
Router(config)#^Z
Router#show cef state
...
 RP state:
  Expanded LC ipc memory:             20000 Kbytes
...
or, alternatively:
Router#show cef line 
Slot      MsgSent    XDRSent  Window   LowQ   MedQ  HighQ Flags
0           12515      21687     505      0      0      0 up
1           12515      21675     505      0      0      0 up 
3           12515      21701     505      0      0      0 up 
5           12515      21700     505      0      0      0 up 
2           12518      22008     505      0      0      0 up
Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#ip cef line ipc mem 20000
Router(config)#^Z
Router#show cef line
Slot      MsgSent    XDRSent  Window   LowQ   MedQ  HighQ Flags 
0           12538      22097    4966      0      0      0 up 
1           12538      22081    4966      0      0      0 up 
3           12538      22115    4966      0      0      0 up 
5           12538      22114    4966      0      0      0 up 
2           12541      22418    4966      0      0      0 up

IPC增强列表

表2提供在Cisco IOS软件方面实现的增强概述给手工和动态地在另外平台间的调整IPC内存。

表2 –增强在Cisco IOS软件方面

Cisco Bug ID 修复 增强
CSCdk75315 (仅限注册用户) 12.0(5)S 12.0(5) 12.0(5)T 11.3(10)AA 引入可以在ipc cache <size>命令帮助下配置的IPC缓存容量。
CSCds89515 (仅限注册用户) 12.2(4)B 12.1(9)E 12.1(8a)E 12.2(3)T 12.2(2)S 12.1(9) 12.0(14)ST1 12.2(2) 12.2(1)T 12.0(15)S3 12.0(16)ST 12.0(16)S 在Cisco 12000SERIES互联网路由器上, Distributed Cisco Express Forwarding (DCEF)可以禁用由于低内存状况在大路由更新期间(例如,当启动时)。作为应急方案,请减少边界网关协议(BGP)的最大路径减少信息量CEF传播对线卡。或者,请减少TCP窗口尺寸减少速度流入BGP更新。请参阅达到最佳路由和减少BGP内存消耗量。或者,您能也输入IP CEF线路卡IPC内存0-128000接口配置命令。相当数量线路卡处理器或主存储器对总内存的50百分比被限制。此命令允许您分配大量的线路卡处理器内存到CEF路由的队列到更新消息。它允许RP发布CEF迅速更新释放内存,并且防止低内存状况出现在RP的。基于编号通用接口处理器(VIP), dCEF需要在RSP的很多临时内存缓冲IPC消息一定对VIP,特别是在案件,当大BGP对等体过来时或,当转发信息库(FIB)得到传播对VIP在CBUS复合体或VIP崩溃以后时(或,当clear cef line命令发出)时。
CSCdu21591 (仅限注册用户) 12.0(17)ST4 12.0(18)ST 12.0(18)S 增加从1000的默认IPC信息报头缓存大小到5000在12000系列路由器。早些时候,分析程序接受硬编码值的任何编号为1000和15000范围。今天,分析程序只收下在平台定义的最低和最大缓存容量之间的编号。另外,最初,清除ipc cache命令从配置是了不可能的,即使您执行了no ipc cache命令在配置里取消自定义IPC缓存值。反而,它插入ipc cache x命令,其中x是当前定义的默认缓存容量。今天, no ipc cache命令有预料之中的行为。它完全从配置删除ipc cache命令
CSCdu12540 12.0(19)ST 12.0(19)S 仅可适用对Cisco 12000系列:最初,为RP IPC缓存仅工作的ipc cache <size>命令。现在, ipc cache命令在LCs可以使用如下:
ipc cache <size> [slot {slot_num | all}]
选项slot_num所有不互相排斥。例如,这些命令有效:ipc缓存4000 slot所有ipc缓存3000 slot 5这些命令增加缓存容量在slot 5到3000和到4000其他slot的。如果要使用All选项覆盖LCs的上一个缓存容量配置声明,请保证您也使用“NOPREFIX”删除上一个in命令非易失性RAM (NVRAM),并且实现正确结果。在noprefix模式,请使用no ipc cache slot {slot_num|所有}命令重置缓存容量到其默认值。
CSCdu54205 12.0(19)ST 12.0(19)S 仅可适用对Cisco 12000系列:此增强更改线路卡CEF更新存储器分配的默认值对512个消息。除非问题被观察,使用ip cef linecard ipc memory xxxxx命令不再是必要的。
CSCuk27162 (仅限注册用户) 12.2(9)T 12.2(9)S 12.2(9) 12.0(21)ST 12.0(22)S 此软件增强更换线卡ipc缓冲区默认每平台数量分配在启动。它也增加从25的RSP每平台默认线卡IPC内存到128个IPC消息。应急方案:请使用IP CEF线路卡IPC内存全局配置命令增加缓冲区数在线卡的。
CSCdv57496 12.0(23)S 动态地管理IPC信息缓存而不是IPC缓存的静态分配。使用CSCdv57496的实施, ipc cache <size>命令不再有效,这自动地执行。这在所有IPC平台间是有效。
CSCdz77490 12.2(19.7)S 12.0(26.2)S 12.3(1)B 12.3(1) 使用CSCdz77490的实施, ipc缓存<size>命令行界面从Cisco IOS软件系列12.3和12.3T删除。在Cisco IOS 12.3请培训,此命令隐藏,但是,若被设定从终端,打印消息给用户。在下个主要版本12.4中,此命令将删除。
CSCec17505 (仅限注册用户) TBD 症状:当您使用CLI命令ipc缓存的<size>更改缓存容量, ipc缓存容量不更改。条件:由于与IPC的体系结构更改此情况发生。应急方案:IPC缓存功能自动地当前完成,并且不可能由CLI的用户更改。此增强删除ipc缓存<size> CLI命令在不再允许用户手工更换IPC缓存的Cisco IOS软件版本。不应该有兼容性问题,因为CLI在用户能手工更换有CLI命令ipc缓存的<size>的IPC缓存的版本将存在。

Cisco 7600 系列

当运行Catalyst OS时, 7600系列Catalyst 6000的/Cisco以叫作多层交换机特性卡(MSFC)的一个可选路由器卡使用一Supervisor引擎。在Supervisor的CPU和在MSFC的CPU通过在以太网带外管理总线间的IPC消息通信。当运行Cisco IOS系统软件时, RP和交换机处理器(SP)通过IPC消息也通信。最初, 3000缓冲区为IPC消息创建。偶然地,系统用尽IPC缓冲区并且报告这些错误消息:

01:52:13: %ICC-2-NOMEM: No memory available for unregistering card Card2 
     02:42:08: %IPC-3-NOBUFF: The main IPC message header cache has emptied    
     -Traceback= 4026779C 40268350 4025F930 40223D34 40221C40 40221EA4 401EAB10

注意: ICC代表卡间通信。

默认情况下从Cisco IOS软件版本12.1(08a)E01和12.1(10)E, Cisco 7600系列当前创建6000 IPC信息缓冲区。另外,做的变化在版本12.1(08a)E和12.1(09)EC上帮助避免IPC该报头的耗尽从很大数量的虚拟LAN (VLAN)有关的更新的结果。每个ICC消息每次通告VLAN链接状态更改的一组,而不是一个VLAN。

Cisco 7600系列支持的更新的线卡一个分布式功能子卡(DFC)高速信息包处理速率的。使用IPC消息,支持DFC的线卡维护活动进程Express Forwarding和邻接表并且用Supervisor连通。

一些IPC消息比Catalyst 6000交换总线的最大传输单元(MTU)极大(例如,用于的IPC消息报告在消息大于1500个字节的SONET接口统计信息)。这样消息需要被分段。在少见情况下, IPC片段报头缓存被耗尽,并且系统报告此错误消息:

%IPC-DFC6-3-NOBUFF: The fragment IPC message header cache has emptied

做的变化在Cisco IOS软件版本12.1(08a)E和12.1(09.05)EC上增加IPC从32的片段缓冲报头数量到128。

如果重复的确认由IPC客户端,接收此消息在debug输出中也许出现。

IPC :找不到ACK HDR的原始消息:

重复的确认通常归结于造成应答消息获得丢失的媒体问题。为了解决此确认损耗,重新安装或更换在correclty的slot的线卡避免媒体问题。

收集了Cisco TAC的故障排除信息

如果还需要援助,在您遵从上面故障排除步骤并且要创建与Cisco TAC后的一服务请求,请务必包括排除故障的IPC-3-NOBUFF-related错误消息以下信息:
  • 在您开Case前,故障排除实行了。
  • show technical-support 输出(如可能,在启动模式下)。
  • show log 输出或控制台捕获信息(如果可用)。
请将您所收集到的上述数据附加在一个非压缩的、纯文本格式(.txt)文件中。您能附上信息到情况。要执行如此,请在案例查询工具(仅限注册用户)帮助下上传它。如果不能访问Case Query工具,您可以附上关于案例的相关信息,并在标题栏注明案例编号,然后通过电子attach@cisco.com发送出去。

注意: 请勿在收集上述信息前手工重新加载也请勿重新启动路由器,除非要求排除故障IPC-3-NOBUFF例外,作为此能导致为确定问题根本原因是需要的丢失的重要信息。


相关信息


Document ID: 21165