2011-02-25 19 views
5

Actualmente utilizo el siguiente para averiguarlo:Averiguar el uso de memoria a través de SNMP en Windows

Para memoria total:

.1.3.6.1.2.1.25.2.2.0 

Para la memoria usada ando el siguiente OID (me da uso de cada proceso):

.1.3.6.1.2.1.25.5.1.1.2 

y sumarlas todas.

Sin embargo, esto es muy impreciso, ya que muestra un uso mucho menor que si utilizo WMI o el monitor de rendimiento.

¿Echo de falta algo? No quiero utilizar agentes SNMP externos (como el informante SNMP, que funciona correctamente por cierto). Quiero resolverlo usando lo que es estándar en Windows.

Respuesta

6

Probar 1.3.6.1.2.1.25.2.3.1. He recibido los siguientes resultados con utilidad snmpwalk de Net-SNMP desde uno de nuestros servidores de 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 

Lo que es importante aquí son las 5ª y 6ª filas de las tablas. Si tiene menos discos duros, entonces puede encontrar los valores de memoria virtual y física en otras filas.

+0

Hmmm, hrStoragesize.6 y hrStorageUsed.6 realmente no dan un número correcto? ¿Podría explicar qué suma/resta sobre cómo obtener la memoria total utilizada? (Por ejemplo, qué en el gráfico de memoria en el administrador de tareas en la pestaña Rendimiento) – timeshift

+0

@timeshift Memoria total utilizada: hrStorageUsed.6 * hrStorageAllocationUnits.6 = 6952 * 65536 = 455606272 bytes = 434,5 MB Memoria total: hrStorageSize.6 * hrStorageAllocationUnits. 6 = 98266 * 65536 = 6439960576 bytes = 5.99 GB – Bill

+0

Excelente, funciona como un encanto, gracias de verdad. – timeshift

0

Puede informar esto como un error a Microsoft y esperar una solución, o simplemente cambiar a otro agente.

Microsoft prefiere WMI a SNMP, por lo que debe saber que el agente es solo un ciudadano de segunda clase en Windows.

+0

¿Entonces básicamente está diciendo que no hay forma de obtener esa información sin recurrir a terceros? WMI no siempre es una opción, ya que requiere que tenga una cuenta de usuario válida en ese servidor. – timeshift

+0

Sí, hasta donde yo sé. –

Cuestiones relacionadas