对我来说真的很奇怪,但这就是问题。
如果我使用SNMP客户端(例如ManageEngineMibBrowser)查询设备,我会得到合理的数字:
dpStatusMemoryStatusUsage.0 97
dpStatusMemoryStatusTotalMemory.0 33015552
dpStatusMemoryStatusUsedMemory.0 31928048
dpStatusMemoryStatusFreeMemory.0 1087504
dpStatusMemoryStatusReqMemory.0 4294967295
dpStatusMemoryStatusXG4Usage.0 4294967295
dpStatusMemoryStatusHoldMemory.0 4294967295
我如何证明合理的理由?简单的数学表明,如果TotalMemory是3301552而UsedMemory是31928048那么使用率97%的百分比似乎是正确的(加上我用GUI双重检查:)
现在我在Linux上运行相同的命令使用snmpget并得到以下内容(它们是OIDS,但顺序与上面相同):
SNMPv2-SMI::enterprises.14685.3.1.5.1.0 = Gauge32: 36
SNMPv2-SMI::enterprises.14685.3.1.5.2.0 = Gauge32: 99197400
SNMPv2-SMI::enterprises.14685.3.1.5.3.0 = Gauge32: 36004164
SNMPv2-SMI::enterprises.14685.3.1.5.4.0 = Gauge32: 63193236
SNMPv2-SMI::enterprises.14685.3.1.5.5.0 = Gauge32: 4294967295
SNMPv2-SMI::enterprises.14685.3.1.5.6.0 = Gauge32: 4294967295
SNMPv2-SMI::enterprises.14685.3.1.5.7.0 = Gauge32: 4294967295
正如你所看到的,它们都是Gauge32的类型....但前4个值完全不同!我需要进行某种转换吗?如果是这样,为什么前4个不同而最后3个不是它们都是同一类型?我真的很笨吗? :)