Disk / Volume / RAM / Memory Calculation

Here is the calculation for the Disk / Volume / RAM /below and example.

What object IDs (OIDs) does Orion NPM poll for volume information? What types of volume information does Orion NPM poll?

http://knowledgebase.solarwinds.com/kb/questions/1194/What+object+IDs+%28OIDs%29+does+Orion+NPM+poll+for+volume+information%3F+What+types+of+volume+information+does+Orion+NPM+poll%3F

Linux / Unix based Systems

disknew.jpg

You can run the MIB Walk for the Node in Question in order to find out what values been returned by the Node for required OID's as below.

Here is MIB walk tool details

Running SNMPWalk

******** MIb Walk Result from the Node **********

.1.3.6.1.2.1.25.2.3.1.3.1 = String: "Physical RAM"

.1.3.6.1.2.1.25.2.3.1.3.2 = String: "Virtual Memory"

.1.3.6.1.2.1.25.2.3.1.3.3 = String: "/"

.1.3.6.1.2.1.25.2.3.1.3.4 = String: "/proc"

.1.3.6.1.2.1.25.2.3.1.3.5 = String: "/dev/pts"

.1.3.6.1.2.1.25.2.3.1.3.6 = String: "/proc/bus/usb"

.1.3.6.1.2.1.25.2.3.1.3.7 = String: "/partB"

.1.3.6.1.2.1.25.2.3.1.3.8 = String: "/common"

.1.3.6.1.2.1.25.2.3.1.3.9 = String: "/grub"

.1.3.6.1.2.1.25.2.3.1.3.10 = String: "/dev/shm"

.1.3.6.1.2.1.25.2.3.1.3.11 = String: "/spare"

.1.3.6.1.2.1.25.2.3.1.3.12 = String: "/proc/sys/fs/binfmt_misc"

.1.3.6.1.2.1.25.2.3.1.4.1 = INTEGER: 4096

.1.3.6.1.2.1.25.2.3.1.4.2 = INTEGER: 4096

.1.3.6.1.2.1.25.2.3.1.4.3 = INTEGER: 4096

.1.3.6.1.2.1.25.2.3.1.4.4 = INTEGER: 4096

.1.3.6.1.2.1.25.2.3.1.4.5 = INTEGER: 4096

.1.3.6.1.2.1.25.2.3.1.4.6 = INTEGER: 4096

.1.3.6.1.2.1.25.2.3.1.4.7 = INTEGER: 4096

.1.3.6.1.2.1.25.2.3.1.4.8 = INTEGER: 4096

.1.3.6.1.2.1.25.2.3.1.4.9 = INTEGER: 1024

.1.3.6.1.2.1.25.2.3.1.4.10 = INTEGER: 4096

.1.3.6.1.2.1.25.2.3.1.4.11 = INTEGER: 4096

.1.3.6.1.2.1.25.2.3.1.4.12 = INTEGER: 4096

.1.3.6.1.2.1.25.2.3.1.5.1 = INTEGER: 1021591

.1.3.6.1.2.1.25.2.3.1.5.2 = INTEGER: 512034

.1.3.6.1.2.1.25.2.3.1.5.3 = INTEGER: 4232703

.1.3.6.1.2.1.25.2.3.1.5.4 = INTEGER: 0

.1.3.6.1.2.1.25.2.3.1.5.5 = INTEGER: 0

.1.3.6.1.2.1.25.2.3.1.5.6 = INTEGER: 0

.1.3.6.1.2.1.25.2.3.1.5.7 = INTEGER: 4232699

.1.3.6.1.2.1.25.2.3.1.5.8 = INTEGER: 17502476

.1.3.6.1.2.1.25.2.3.1.5.9 = INTEGER: 252879

.1.3.6.1.2.1.25.2.3.1.5.10 = INTEGER: 510795

.1.3.6.1.2.1.25.2.3.1.5.11 = INTEGER: 8468466

.1.3.6.1.2.1.25.2.3.1.5.12 = INTEGER: 0

.1.3.6.1.2.1.25.2.3.1.6.1 = INTEGER: 447260

.1.3.6.1.2.1.25.2.3.1.6.2 = INTEGER: 52

.1.3.6.1.2.1.25.2.3.1.6.3 = INTEGER: 2837178

.1.3.6.1.2.1.25.2.3.1.6.4 = INTEGER: 0

.1.3.6.1.2.1.25.2.3.1.6.5 = INTEGER: 0

.1.3.6.1.2.1.25.2.3.1.6.6 = INTEGER: 0

.1.3.6.1.2.1.25.2.3.1.6.7 = INTEGER: 2736606

.1.3.6.1.2.1.25.2.3.1.6.8 = INTEGER: 7646375

.1.3.6.1.2.1.25.2.3.1.6.9 = INTEGER: 4303

.1.3.6.1.2.1.25.2.3.1.6.10 = INTEGER: 5422

.1.3.6.1.2.1.25.2.3.1.6.11 = INTEGER: 8256

****************** Physical Disks ******************

hrStorageDescr = .1.3.6.1.2.1.25.2.3.1.3.3 = String: "/"

hrStorageAllocationUnits=   .1.3.6.1.2.1.25.2.3.1.4.3 = INTEGER: 4096

hrStorageSize .1.3.6.1.2.1.25.2.3.1.5.3 = INTEGER: 4232703

hrStorageUsed = .1.3.6.1.2.1.25.2.3.1.6.3 = INTEGER: 2837178

Calculations :

Volume size       4232703 x 4096  17337151488 Bytes   16.146 GB

Volume used       2837178 x 4096  11621081088 Bytes   10.822 GB

space available   17337151488 - 11621081088 = 5716070400 5.323 GB .

Percentage        10.8/16.14 * 100 65%

****************************************************

hrStorageDescr = .1.3.6.1.2.1.25.2.3.1.3.1 = String: "Physical RAM"

hrStorageAllocationUnits= .1.3.6.1.2.1.25.2.3.1.4.1 = INTEGER: 4096

hrStorageSize    .1.3.6.1.2.1.25.2.3.1.5.1 = INTEGER: 1021591

hrStorageUsed = .1.3.6.1.2.1.25.2.3.1.6.1 = INTEGER: 447260

Calculations : Physical RAM

Volume size       1021591 x 4096  4184436736 Bytes       3.897 GB

Volume used       447260 x 4096   1831976960 Bytes       1.706 GB

space available   1831976960 - 4184436736 = 2352459776     2.1 GB

Percentage        1.706/3.897 * 100 43%

*********************************************************

hrStorageDescr = .1.3.6.1.2.1.25.2.3.1.3.2 = String: "Virtual Memory"

hrStorageAllocationUnits= .1.3.6.1.2.1.25.2.3.1.4.2 = INTEGER: 4096

hrStorageSize    .1.3.6.1.2.1.25.2.3.1.5.2 = INTEGER: 512034

hrStorageUsed = .1.3.6.1.2.1.25.2.3.1.6.2 = INTEGER: 52

Calculations : Virtual Memory

Volume size       512034 x 4096  2097291264 Bytes   1.953 GB

Volume used       52 x 4096 212992 Bytes           0.0001 GB

space available   212992 - 2097291264 = 2097078272  1.953 GB .

Percentage 0.0001/1.953 * 100 0.0%

///////////////////////////////////////////////////////////////

Adding Few more explanation here for Cisco Call Manager Showing 99% Memory Utilization in Orion .( just in case someone having this issue )

CallManager.png

The reason you are seeing 99% is due to the Cisco MCS returning back those values.

Why its doing this, you have to Open Cisco TAC.

NPM is returning back the values its being supplied with, in this case showing 99%.

Poller type: Used .

  1. N.Memory.SNMP.CpqHostPhysicalMemory =

Memory poller for OpenVMS systems which support proprietary CPQ-Host MIB

Poller utilizes GetSubtree request with two OIDs to gather total and used memory:

            cpqHoPhysicalMemorySize = 1.3.6.1.4.1.232.11.2.13.1.

            cpqHoPhysicalMemoryFree = 1.3.6.1.4.1.232.11.2.13.2.

Total memory is computed using this formula:

            memoryTotal = cpqHoPhysicalMemorySize * 1024

Used memory is computed using this formula:

            memoryUsed = memoryTotal - (cpqHoPhysicalMemoryFree * 1024)

MIB Walk shows:

            .1.3.6.1.4.1.232.11.2.13.1.0 = INTEGER: 3990 = cpqHoPhysicalMemorySize

            .1.3.6.1.4.1.232.11.2.13.2.0 = INTEGER: 60 = cpqHoPhysicalMemoryFree

memoryTotal = 3990 * 1024 = 4085760

memoryUsed = 4085760 - (60 * 1024) = 4085760 – 61440 = 4024320

PercentUsed = 4024320/4085760 = 98.496% = 99%

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

For Linux Server for Poller assigned N.Memory.SNMP.NetSnmpReal

memory .JPG

If poller assigned

N.Memory.SNMP.NetSnmpReal

/// memTotalReal = 1.3.6.1.4.1.2021.4.5.
/// memAvailReal = 1.3.6.1.4.1.2021.4.6.
/// memCached = 1.3.6.1.4.1.2021.4.15.
/// memBuffer = 1.3.6.1.4.1.2021.4.14.
/// UsedMemory = (totalMem - availMem - cachedMem - bufferMem) * 1024

.1.3.6.1.4.1.2021.4.5.0 = INTEGER: 2073620 (Total )

.1.3.6.1.4.1.2021.4.6.0 = INTEGER: 1869968 (Available )

.1.3.6.1.4.1.2021.4.15.0 = INTEGER: 88008 (cachedMemory )

.1.3.6.1.4.1.2021.4.14.0 = INTEGER: 51868 (BufferMemory )

( 207362018699688800851868 ) = 63776  

63776 * 1024 = 65306624 bytes

--- Another Example ----

Yellow - Working SNMPWALK (supported net-snmp version)

Green - NON Working SNMPWALK (NON supported net-snmp version)

memTotalReal

.1.3.6.1.4.1.2021.4.5.0

1997828

4053

memAvailReal

.1.3.6.1.4.1.2021.4.6.0

19736

0

memCached

.1.3.6.1.4.1.2021.4.15.0

1216472

0

memBuffer

.1.3.6.1.4.1.2021.4.14.0

73948

0

Total Used

687672

4053

Total Used x 1024

704176128

4150272

% used

  1. 34.42098119

100

ssCPUIdle

.1.3.6.1.4.1.2021.11.11.0

83

9

SSCPURAWIDLE

.1.3.6.1.4.1.2021.11.53.0

1253793743

1833365114

********************

Vmware ESX Memory Calculation

console.PNG

memoryg.PNG

Supported Poller

pollers.PNG

The "Memory" Usage and the "Physical Memory" Utilization are calculated differently by Orion NPM.

Memory:

The Memory is the sum of the memory used by the processes listed in the HOST-RESOURCES-MIB:hrSWRunPerfTable (1.3.6.1.2.1.25.5.1).

The OID used is the hrSWRunPerfMem (1.3.6.1.2.1.25.5.1.1.2).

Physical Memory:

The Physical Memory is calculated based on the values populated in the HOST-RESOURCES-MIB:hrStorageTable (1.3.6.1.2.1.25.2.2.3).

The OIDs used are hrStorageSize (1.3.6.1.2.1.25.2.3.1.5), hrStorageUsed (1.3.6.1.2.1.25.2.3.1.6) and hrStorageAllocationUnits (1.3.6.1.2.1.25.2.3.1.4) .

Cisco ASA

Cisco ASR Poller

ASR poller:

/// Poller utilizes GetSubtree request to gather used memory using OID:
  /// CpmCpuMemoryUsed= 1.3.6.1.4.1.9.9.221.1.1.1.1.18
  /// Poller utilizes GetSubtree request to gather free memory using OID:
  /// CpmCpuMemoryFree= 1.3.6.1.4.1.9.9.221.1.1.1.1.20
  /// Used memory is computed as SUM of all ciscoMemoryPoolUsed returned values.
  /// Free memory is computed as SUM of all ciscoMemoryPoolFree returned values.
  /// Total memory is computed as SUM of used and free memory.