Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

使用资源监控方法排除系统性能故障

资源监视使用情况计算概述

您可以使用 CLI 和 SNMP MIB 查询来配置资源监控功能。您可以使用此实用程序来调配足够的余量(为应用程序或虚拟路由器设置的内存空间限制),以监控 DPC 和 MPC 的运行状况和操作效率。您还可以分析和查看 jtree 内存类型以及连续页、双字和可用内存页的内存使用情况或消耗量。所有 MX 系列路由器数据包转发引擎上的 jtree 内存有两个段:一个分段主要存储路由表和相关信息,另一个分段主要存储防火墙过滤器相关信息。由于为路由表或防火墙过滤器分配更多内存可能会中断数据包转发引擎的转发操作,因此当您提交包含内存增强型路由语句的配置时,Junos OS CLI 会显示一条警告,提示重新启动所有受影响的 FPC。

以下部分介绍了基于 I 芯片和基于 Trio 的线卡的计算公式以及不同内存区域的解释:

基于三重的线卡的资源监控和使用计算

在基于 Trio 的线卡中,用于下一跃点和防火墙过滤器的内存块是单独分配的。此外,还存在扩展内存,当为下一跃点或防火墙过滤器分配的内存完全用完时,将使用扩展内存。下一跃点和防火墙过滤器都可以从扩展内存中分配内存。封装内存区域特定于基于 I 芯片的线卡,不适用于基于 Trio 的线卡。因此,对于基于 Trio 的线卡,可用内存空间的百分比可以解释如下:

% Free (NH) = (1- (Used NH memory + Used Expansion memory ) / (Total NH memory+Total Expansion memory)) × 100

% Free (Firewall or Filter) = (1-(Used FW memory+Used Expansion memory ) / (Total FW memory+Total Expansion memory)) × 100

封装存储器特定于 I 芯片,不适用于基于 Trio 的线卡。

% Free (Encap memory) = Not applicable

基于 I-Chip 的线卡的资源监控和使用计算

基于 I 芯片的线卡包含与路由查找块关联的 32 MB 静态 RAM (SRAM) 内存和与输出 WAN 块关联的 16 MB SRAM 内存。

路由查找内存是一个包含 32 MB 内存的池,分为两个段,每个段 16 MB。在标准配置中,分段 0 用于 NH 和前缀,分段 1 用于防火墙或过滤器。可以通过在 [编辑机箱] 层次结构级别使用路由内存增强选项来修改此分配。在一般配置中,可以从两个段中的任何一个为 NH 应用程序分配内存。因此,NH 的可用内存百分比是根据 32 MB 内存计算的。目前,仅从段 1 为防火墙应用程序分配内存。因此,要监控防火墙的可用内存百分比仅从段 1 中的可用 16 MB 内存开始。

对于基于 I 芯片的线卡,可用内存空间的百分比可以解释如下:

% Free (NH) = (32-(Used NH memory+Used FW memory+Used Other application)) / 32×100

% Free (Firewall or Filter)=(16-(Used NH memory+Used FW memory+Used Other application)) / 16×100

输出 WAN (硫磺) SRAM 的内存大小为 16 MB,存储包含封装信息的第 2 层描述符。该实体是关键资源,需要对其进行监控。此内存空间在 show 命令的输出中显示为 “Encap mem”。封装区域的可用内存百分比计算如下:

% Free (Encapsulation memory) = (16-(Iwo memory used ( L2 descriptors +other applications))) / 16×100

为下一跃点内存配置的水印级别对于封装内存也有效。因此,如果封装区域的可用内存百分比低于配置的水印,则会生成日志。

如果可用内存百分比低于特定内存类型的可用内存水印,则会在系统日志中记录以下错误消息:

“Resource Monitor: FPC <slot no> PFE <pfe inst> <“JNH memory” or “FW/ Filter memory”> is below set watermark <configured watermark>”.

您可以使用层次结构级别的语句来配置资源监视跟踪操作。traceoptions file <filename> flag flag level level size bytes[edit system services resource-monitor] 默认情况下,消息将写入 。/var/log/rsmonlog 与套接字通信故障(路由引擎和数据包转发引擎之间)关联的错误日志对于诊断路由引擎和数据包转发引擎之间的通信问题非常有用。

从 Ukern 的角度来看,MPC5E 仅包含一个数据包转发引擎实例。show chassis fabric plane命令输出显示与数据包转发引擎的结构平面连接的状态。由于存在两个数据包转发引擎,因此您会注意到输出中的 PFE-0 和 PFE-1。

由于 MPC5E 仅存在一个数据包转发引擎实例,因此 show system resource-monitor fpc 命令的输出仅显示与数据包转发引擎实例 0 对应的一行。

配置的水印将跨 GRES 和统一 ISSU 过程保留。

通过在 MX 系列路由器上配置内存资源使用情况监控来诊断和调试系统性能

Junos OS 支持使用 CLI 和 SNMP MIB 查询的资源监控功能。您可以使用此实用程序来调配足够的余量(为应用程序或虚拟路由器设置的内存空间限制),以确保系统稳定性,尤其是 MX 系列路由器上基于 I 芯片的线卡和基于 Trio 的 FPC 的运行状况和运行效率。当内存利用率(ukernel 内存或 ASIC 内存)达到特定阈值时,系统操作会影响线卡的运行状况和流量处理稳定性,并且这种对系统性能的权衡可能会不利于支持实时流量和协议。

要配置内存资源利用率功能的属性,请执行以下操作:

  1. 指定要配置监视机制以利用不同的内存资源区域。

    此功能默认处于启用状态,您无法手动禁用它。

  2. 指定所有内存区域(例如堆或 ukernel、下一跃点和封装以及防火墙过滤器内存)的高阈值,超过该阈值将生成警告或错误日志。
  3. 指定用于使用水印值监视下一跃点的可用内存空间百分比。
  4. 指定用于使用水印值监视的 ukernel 或堆内存的可用内存空间百分比。
  5. 指定用于防火墙的可用内存空间百分比,并使用水印值监视要监视的筛选器内存。
    注:

    可用下一跃点内存百分比的水印值的默认值和配置值也适用于封装内存。可用 ukernel 或堆内存、下一跃点内存和防火墙过滤器内存百分比的默认水印值为 20%。

  6. 当内存资源的利用率超过阈值或检查点级别时,禁用生成错误日志消息。默认情况下,消息会写入 /var/log/rsmonlog。
  7. 定义要监视和分析的资源类别,以确保系统稳定性,尤其是 MX 系列路由器上基于 I 芯片的线卡和基于 Trio 的 FPC 的运行状况和运行效率。资源类别包括详细的 CPU 利用率、会话速率和会话计数统计信息。您可以使用资源类别统计信息来了解新攻击对象或应用程序对性能的影响程度。
    注:

    所有 MX 系列路由器数据包转发引擎上的 jtree 内存有两个段:一个分段主要存储路由表和相关信息,另一个分段主要存储防火墙过滤器相关信息。Junos OS 提供内存增强语句,用于为路由、防火墙过滤器和第 3 层 VPN 重新分配 jtree 内存。

  8. 将资源类型配置为要为其启用监控机制的连续页面,以便为确保有效的系统性能和流量处理能力提供足够的空间。为指定的内存类型或区域(在本例中为连续页)指定阈值上限和下限阈值,超过该阈值将生成警告或错误日志。
  9. 将资源类型配置为要为其启用监控机制的可用双字 (dwords),以提供足够的余量来确保有效的系统性能和流量处理能力。为指定的内存类型或区域(在本例中为空闲双字)指定阈值上限和下限阈值,超过该阈值将生成警告或错误日志。
  10. 将资源类型配置为要为其启用监控机制的可用内存页,以便为确保有效的系统性能和流量处理能力提供足够的空间。为指定的内存类型或区域(在本例中为可用内存页)指定阈值上限和下限阈值,超过该阈值将生成警告或错误日志。
  11. 使用 命令查看 FPC 数据包转发引擎上的内存资源利用率。show system resource-monitor fpc 筛选器内存表示用于防火墙筛选器计数器的筛选器计数器内存。每个内存区域旁边显示的星号 (*) 表示当前已超过配置阈值的区域。

对 MS-DPC 和 MS-MIC 的 jnxNatObjects 值不匹配进行故障排除

问题

Description

当 MS-DPC 和 MS-MIC 都部署在网络中,并且网络地址转换 (NAT) 类型配置为 时,jnxNatObject 命令的 输出将显示不同的 MS-DPC 和 MS-MIC 值。napt-44snmp mib walk

分辨率

配置 SNMP 以匹配 MS-DPC 和 MS-MIC 的 jnxNatObjects 值

要将 SNMP 配置为匹配 MS-DPC 和 MS-MIC 的 jnxNatObjects 值,请执行以下操作:

  1. 运行 配置模式命令。set services service-set service-set-name nat-options snmp-value-match-msmic 以下配置示例说明如何配置 SNMP,以便将 jnxNatObjects MIB 表中特定于 MS-MIC 的对象的值与 MS-DPC 对象的值进行匹配。

  2. 发出命令以确认更改。commit

  3. (可选)运行命令以 验证 jnxNatObjects MIB 表中特定于 MS-MIC 的对象的值是否与 MS-DPC 对象的值匹配。show snmp mib walk jnxNatObjects 例如,以下输出显示 MS-MIC 特定对象和 MS-DPC 对象的值匹配。

    注:

    您可以使用配置模式命令禁用 此功能。delete services service-set service-set-name nat-options snmp-value-match-msmic

FPC 插槽中数据包转发引擎的内核内存托管对象

的对象 标识符为 的 包含检索指定数据包转发引擎插槽的全局 ukernel 或堆内存统计信息的 。jnxPfeMemoryUkernTable{jnxPfeMemory 1}JnxPfeMemoryUkernEntry 每个 ,其对象标识符为 ,包含下表中列出的对象。JnxPfeMemoryUkernEntry{jnxPfeMemoryUkernTable 1} 表示 内存利用率,例如总可用内存和已用内存百分比。jnxPfeMemoryUkernEntry

表 1: jnxPfeMemoryUKernTable

对象

对象 ID

Description

jnxPfeMemoryUkernFreePercent

jnxPfeMemoryUkernEntry 3

表示 ukern 堆中可用数据包转发引擎内存的百分比。

数据包转发引擎内存统计数据的托管对象

对象 标识符为 的 表包含 中列出的对象 jnxPfeMemory{jnxPfeMib 2}表 2

表 2: jnxPfeMemory 表

对象

对象 ID

Description

jnxPfeMemoryUkernTable

jnxPfeMemory 1

提供指定数据包转发引擎插槽的全局 ukern 内存统计信息。

jnxPfeMemoryForwardingTable

jnxPfeMemory 2

为指定的数据包转发引擎插槽提供全局下一跃点(对于基于 Trio 的线卡)或 Jtree(对于基于 I 芯片的线卡)内存利用率和防火墙过滤器内存利用率统计信息。

用于下一跃点、jtree 和防火墙的托管对象 FPC 插槽中数据包转发引擎的过滤器内存

的对象 标识符为 ,包含 检索基于 Trio 的线卡的下一跃点内存、基于 I 芯片的线卡的 jtree 内存,以及 I 芯片和基于 Trio 的线卡的指定数据包转发引擎插槽的防火墙或过滤器内存统计信息。jnxPfeMemoryForwardingTable{jnxPfeMemory 2}JnxPfeMemoryForwardingEntry 每个 ,其对象标识符为 ,包含下表中列出的对象。jnxPfeMemoryForwardingEntry{jnxPfeMemoryForwardingTable 1}

表示 ASIC 实例、使用的 ASIC 内存和 ASIC 可用内存。 jnxPfeMemoryForwardingEntry 所有 MX 系列路由器数据包转发引擎上的 jtree 内存有两个段:一个分段主要存储路由表和相关信息,另一个分段主要存储防火墙过滤器相关信息。由于为路由表或防火墙过滤器分配更多内存可能会中断数据包转发引擎的转发操作,因此当您提交包含内存增强型路由语句的配置时,Junos OS CLI 会显示一条警告,提示重新启动所有受影响的 FPC。在您重新启动 FPC 或 DPC(在 MX 系列路由器上)之前,配置不会生效。

表 3: jnxPfeMemoryForwardingTable

对象

对象 ID

Description

jnxPfeMemoryForwardingChipSlot

jnxPfeMemoryForwardingEntry 1

指示数据包转发引擎复合体中的 ASIC 实例编号。

jnxPfeMemoryType

jnxPfeMemoryForwardingEntry 2

指示数据包转发引擎内存类型,其中 nh = 1,fw = 2,encap = 3。

jnxPfeMemoryForwardingPercentFree

jnxPfeMemoryForwardingEntry 3

指示每种内存类型的可用内存百分比。

jnxPfeMemoryErrorsTable

瞻博网络特定于企业的数据包转发引擎 MIB(对象 ID 为 )支持新的 MIB 表, 以显示数据包转发引擎内存错误计数器。{jnxPfeMibRoot 1}jnxPfeMemoryErrorsTable 的对象 标识符为 为 的 包含 。jnxPfeMemoryErrorsTablejnxPfeNotification 3JnxPfeMemoryErrorsEntry 每个 ,其对象标识符为 ,包含下表中列出的对象。JnxPfeMemoryErrorsEntry{ jnxPfeMemoryErrorsTable 1 }

表 4: jnxPfeMemoryErrorsTable

对象

对象 ID

Description

jnxPfeFpcSlot

jnxPfeMemoryErrorsEntry 1

表示这组 PFE 通知的 FPC 插槽编号

jnxPfeSlot

jnxPfeMemoryErrorsEntry 2

表示这组错误的 PFE 插槽编号

jnxPfeParityErrors

jnxPfeMemoryErrorsEntry 3

表示奇偶校验错误计数

jnxPfeEccErrors

jnxPfeMemoryErrorsEntry 4

表示错误检查代码 (ECC) 错误计数

pfeMemoryErrors

的对象 标识符为 为 的 包含该 属性。pfeMemoryErrorsNotificationPrefix{jnxPfeNotification 0}pfeMemoryErrors 对象,其标识符是包含和对象。{pfeMemoryErrorsNotificationPrefix 1}jnxPfeParityErrorsjnxPfeEccErrors

表 5: pfeMemoryErrors

对象

对象 ID

Description

pfeMemoryErrors

pfeMemoryErrorsNotificationPrefix 1

当 jnxPfeParityErrors 或 jnxPfeEccErrors 的值增加时,将发送 pfeMemoryErrors 通知。