重启后 ProCurve CPU 以 100% 运行几分钟

网络工程 故障排除 hp-procurve 生命值
2021-07-16 20:56:15

我一直在 HP 交换机上进行固件升级。升级了两种不同的模型:

  • ProCurve Switch 5406zl Intelligent Edge (J8697A):从 K.15.06.0008 升级到 K.15.12.0012
  • HP 2520-24G-PoE 交换机 (J9299A):从 J.14.54 升级到 J.15.09.0021

在启动新映像后立即检查每个开关,我观察到了一些事情:

  1. 交换机加载了新的固件镜像,没有错误,交换机一启动就恢复了连接。此时 CPU 使用率很低(低于 10%)
  2. 几秒钟后,CPU 使用率上升到 100%,并在那里停留了几分钟。除了通过 SSH 的 CLI 有点缓慢之外,此时我无法检测到任何问题:正常连接,没有日志消息......
  3. 在 100% 的五到十分钟后,CPU 恢复正常,我这边没有任何变化。

两个模型都有这种行为。我将每个型号的一个单元回滚到以前的固件映像,它们的行为方式相同。

尽管在启动后 CPU 立即飙升并没有引起任何问题,但我想知道正常的网络行为是否可能是导致此飙升的原因,但我不这么认为。我考虑了以下几个方面:

  1. 启动后 STP 立即开始运行,生成 BPDU 并使交换机中的所有端口通过阻塞、侦听、学习和转发状态循环。但是,即使使用 802.1D,此过程使用默认计时器也不会超过 1 分钟。此外,我正在通过 SSH 检查交换机,因此在我可以连接到交换机时,所有 STP 计算都已经完成。

  2. 刚启动后,MAC 地址表是空的,要转发的第一帧需要广播。但我怀疑在 24 端口交换机中,这种广播会占用 100% 的 CPU,更少占用 5 分钟。

  3. 所有交换机都充当 L2 设备,没有启用 L3 功能,因此我丢弃了路由和其他 L3 进程。

我是否在网络操作中遗漏了一些“正常”的东西,这可能会在保持连接的情况下重新启动后 5 分钟内解释此 CPU 使用情况?也许这是交换机在重新启动后立即运行的某种后台进程?

1个回答

这在 Google 上用时不到 2 秒: HP 网络门户

HP ProCurve 5400zl 交换机系列 - 启动后 CPU 利用率高 (99-100%) 问题

交换机启动后,立即观察到高 (99-100%) CPU 利用率。解决方案

当交换机启动时,初始化任务之一是创建加密密钥。预先创建密钥意味着以后,当使用密钥的 SSL 或 SSH 等功能被配置或使用时,可用性延迟最小。此任务需要几秒钟才能启动,具体取决于交换机型号、正在加载的配置和软件版本。即使任务消耗高达 100% 的 CPU,它也以非常低的优先级运行。因此,如果启动另一个需要 CPU 周期的任务,该低优先级任务将退出。如果此初始化/密钥生成任务运行不受更高优先级任务的干扰,则大约需要 10 分钟才能完成。如果 CPU 忙于其他任务,则完成时间会延长。

要验证所看到的提升的 CPU 实际上是此处描述的内容,而不是其他需要故障排除的内容,请使用下面记录的命令。

task-monitor cpu (this command was introduced in K.13.04)

show uptime

show cpu

输出将如下所示。

Switch# task-monitor cpu Switch# show uptime 0000:00:01:42.36 Switch# show cpu

99 percent busy, from 27 sec ago
1 sec ave: 100 percent busy
5 sec ave: 100 percent busy
1 min ave: 66 percent busy

Task usage for last 5 sec
 % CPU | Description
-------+--------------------------
   0.3 | Sessions & I/O
  99.7 | System Services