2011-02-25 39 views
5

目前我使用以下弄明白:找出使用SNMP內存使用在Windows

總內存:

.1.3.6.1.2.1.25.2.2.0 

對於使用過的記憶我走以下OID(給我的每一個使用過程):

.1.3.6.1.2.1.25.5.1.1.2 

並將它們總和。

但是,這是非常不準確的,因爲與使用WMI或性能監視器相比,它的使用情況要少得多。

我錯過了什麼?我不想使用第三方SNMP代理(如SNMP信息,它可以正常工作)。我想使用Windows中的標準來解決這個問題。

回答

6

嘗試1.3.6.1.2.1.25.2.3.1。我接收到的Net-SNMP的snmpwalk的程序如下結果從我們的Windows Server 2003的服務器之一:

$ snmpwalk -v1 -cpublic 10.200.80.221 1.3.6.1.2.1.25.2.3.1.3 
HOST-RESOURCES-MIB::hrStorageDescr.1 = STRING: C:\ Label: Serial Number 38728140 
HOST-RESOURCES-MIB::hrStorageDescr.2 = STRING: D:\ 
HOST-RESOURCES-MIB::hrStorageDescr.3 = STRING: O:\ Label:Data Serial Number b618c4bc 
HOST-RESOURCES-MIB::hrStorageDescr.4 = STRING: Q:\ Label:Quorum Serial Number 4cbbcc74 
HOST-RESOURCES-MIB::hrStorageDescr.5 = STRING: Virtual Memory 
HOST-RESOURCES-MIB::hrStorageDescr.6 = STRING: Physical Memory 

$ snmpwalk -v1 -cpublic 10.200.80.221 1.3.6.1.2.1.25.2.3.1.4 
HOST-RESOURCES-MIB::hrStorageAllocationUnits.1 = INTEGER: 4096 Bytes 
HOST-RESOURCES-MIB::hrStorageAllocationUnits.2 = INTEGER: 0 Bytes 
HOST-RESOURCES-MIB::hrStorageAllocationUnits.3 = INTEGER: 4096 Bytes 
HOST-RESOURCES-MIB::hrStorageAllocationUnits.4 = INTEGER: 4096 Bytes 
HOST-RESOURCES-MIB::hrStorageAllocationUnits.5 = INTEGER: 65536 Bytes 
HOST-RESOURCES-MIB::hrStorageAllocationUnits.6 = INTEGER: 65536 Bytes 

$ snmpwalk -v1 -cpublic 10.200.80.221 1.3.6.1.2.1.25.2.3.1.5 
HOST-RESOURCES-MIB::hrStorageSize.1 = INTEGER: 17911195 
HOST-RESOURCES-MIB::hrStorageSize.2 = INTEGER: 0 
HOST-RESOURCES-MIB::hrStorageSize.3 = INTEGER: 66794245 
HOST-RESOURCES-MIB::hrStorageSize.4 = INTEGER: 35836990 
HOST-RESOURCES-MIB::hrStorageSize.5 = INTEGER: 128101 
HOST-RESOURCES-MIB::hrStorageSize.6 = INTEGER: 98266 

$ snmpwalk -v1 -cpublic 10.200.80.221 1.3.6.1.2.1.25.2.3.1.6 
HOST-RESOURCES-MIB::hrStorageUsed.1 = INTEGER: 1365706 
HOST-RESOURCES-MIB::hrStorageUsed.2 = INTEGER: 0 
HOST-RESOURCES-MIB::hrStorageUsed.3 = INTEGER: 38290 
HOST-RESOURCES-MIB::hrStorageUsed.4 = INTEGER: 17637 
HOST-RESOURCES-MIB::hrStorageUsed.5 = INTEGER: 4819 
HOST-RESOURCES-MIB::hrStorageUsed.6 = INTEGER: 6952 

這裏重要的是第5和表6日行。如果您的硬盤較少,則可以在其他行中找到虛擬內存和物理內存的值。

+0

嗯,hrStoragesize.6和hrStorageUsed.6確實沒有給出正確的數字?你能解釋一下如何總結/減去如何獲得總內存? (例如,性能選項卡中任務管理器中的內存圖中的內容) – timeshift 2011-02-28 12:50:55

+0

@timeshift使用的總內存:hrStorageUsed.6 * hrStorageAllocationUnits.6 = 6952 * 65536 = 455606272 bytes = 434,5 MB總內存:hrStorageSize.6 * hrStorageAllocationUnits。 6 = 98266 * 65536 = 6439960576字節= 5.99 GB – Bill 2011-02-28 14:08:02

+0

非常好,像魅力一樣,非常感謝你。 – timeshift 2011-02-28 17:20:05

0

您可以將此報告爲Microsoft的錯誤並等待修復,或者直接切換到其他代理。

微軟更喜歡WMI到SNMP,因此您應該知道該代理只是Windows上的第二類公民。

+0

所以基本上你說沒有辦法獲得這些信息而不訴諸第三方? WMI並不總是一種選擇,因爲它要求您在該服務器上擁有有效的用戶帳戶。 – timeshift 2011-02-27 13:41:39

+0

是的,據我所知。 – 2011-02-28 06:11:23