尝试使用以下硬件绘制服务器上的CPU负载:ProLiant DL360p Gen8(在ProLiant DL360 G7上的行为相同)。
该机器正在运行VMWare ESXi5.1
要创build一个CPU峰值,我运行dd if=/dev/zero of=/dev/null ,而且我知道CPU过载了,因为在vCenter上显示的graphics中可以看到相关的尖峰。

但是,运行这个snmpwalk:
snmpwalk -v 1 -c ******** 192.168.MY_IP 1.3.6.1.2.1.25.3.3.1.2
显示以下结果:
iso.3.6.1.2.1.25.3.3.1.2.1 = INTEGER: 3 iso.3.6.1.2.1.25.3.3.1.2.2 = INTEGER: 2 iso.3.6.1.2.1.25.3.3.1.2.3 = INTEGER: 2 iso.3.6.1.2.1.25.3.3.1.2.4 = INTEGER: 3
我没有看到正确的MIB? 我应该乘以一个常数?
顺便说一句,使用惠普无代理监控,我能够得到一些CPU统计,但不是我在找什么,至less没有什么我可以find涉水通过这些MIB 。
请尝试使用压力工具在Linux中生成负载。 它非常细化,比你所做的更有意义。
我所看到的是在4-CPU虚拟机上生成一个单线程I / O负载。 从vSphere客户端粘贴的CPU图表显示25%的负载,因为您只是分配给虚拟机的四个 CPU之一。
下载压力 (这对大多数Linux发行版是可用的),并尝试使用一些特定的参数。
例如,只需在一个4-CPU虚拟机上运行以下命令:
# stress -c 4 stress: info: [594013] dispatching hogs: 4 cpu, 0 io, 0 vm, 0 hdd
收益率…

Vmware不会收集这些信息,而且这样做真的没有好的方法。 问题在于它无法知道你什么时候会问 – 所以为了使这项工作,它必须有一个平均准备在过去六十秒。 既然你现在可能会问,然后再问一次,那么在四十秒之前,这两个时间间隔必须正确地计算CPU时间。 这是一个非常难看,复杂的事情。
由于SNMP代理将不得不不断地探测CPU使用情况并更新所有同时运行的间隔,因此支持此操作将会增加成本。