与 snmp 的 CPU 负载相比,cisco 的“show proc cpu history”有多准确?

与 snmp 的 CPU 负载相比,cisco 的“show proc cpu history”有多准确?

我正在使用 snmp 监控我的 cisco 路由器的 CPU 负载,但该数字与 show proc cpu history 的输出有很大差异。当 sh 告诉我 CPU 负载为 7x% 时,snmp 只得到 2x%。哪个数字的准确性比另一个更高?

答案1

这些差异是由于平均方式不同以及采样周期不同造成的。

一些背景知识(我写了命令):

目的是使用此命令来查找 CPU 利用率的模式,帮助将瞬态问题与 CPU 峰值关联起来(特别是 as5800 系列上的呼叫控制错误与 CPU 峰值和呼叫率)。

“show proc cpu history” 正在绘制从 IOS 的“核心”获得的 5 秒 CPU 值。

对于最后 60 秒,这是准确的,请记住,这些值每 5 秒才更新一次。由于 IOS 的运行完成特性,它将非常不稳定且不可预测。

每 60 秒根据收集的数据计算平均值,并将其作为数据点存储在 60 分钟图表中。

60 分钟后,计算小时图的平均值并将其存储在 72 小时图中。

计算平均值的方式意味着必然存在差异。但是它使用很少的内存或 CPU 开销来维护数据。考虑到该命令必须在最小的路由器和线路卡上运行,这一点比准确性更重要。

答案2

'show proc cpu history' 可以显示一分钟、一小时或 72 小时的历史记录(http://www.cisco.com/en/US/products/sw/iosswrel/ps1828/products_tech_note09186a00800a65d0.shtml#showprochistory

Cisco 的 OID 显示 5 秒、1 分钟或 5 分钟的繁忙百分比间隔(http://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a0080094a94.shtml#topic1)。

差异可能在于所使用的间隔持续时间。

答案3

在很大程度上,这其实并不重要。一个给你一个数字,另一个给你另一个相近的数字。使用 SNMP 来绘制图表并进行收集,不要太担心“实际保证使用量”。这很可能是由于不同的采样间隔,以及无法实际获得瞬时速率(即,在任何特定时间片中,CPU 要么是 100%,要么是 0%)。

相关内容