Network Management

Disk/volume/RAM/memory calculation in the SolarWinds Platform

How does the SolarWinds Platform calculates Disk / RAM / Memory / Volume from the device.

First published date

10/26/2018 8:01 PM

Last published date

6/3/2025 10:37 PM

Overview

In this article describes how the SolarWinds Platform calculates Disk/RAM/Memory/Volume from the device.

Product section

Network Performance Monitor

Resolution

First, you need to know what object IDs (OIDS) does the SolarWinds Platform poll for volume information including their types.

How does the SolarWinds Platform calculate Linux O/S based system memory

See the following screenshot for an example from a system running Linux O/S:

You can use the SolarWinds SNMP Walk tool for the node in question in order to find out what values been returned by the Node for required OIDs as below.

.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.4.1 = 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.6.1 = INTEGER: 447260
.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.4.2 = INTEGER: 4096.1.3.6.1.2.1.25.2.3.1.5.2 = INTEGER: 512034.1.3.6.1.2.1.25.2.3.1.6.2 = INTEGER: 52
.1.3.6.1.2.1.25.2.3.1.3.3 = String: "/".1.3.6.1.2.1.25.2.3.1.4.3 = INTEGER: 4096.1.3.6.1.2.1.25.2.3.1.5.3 = INTEGER: 4232703.1.3.6.1.2.1.25.2.3.1.6.3 = INTEGER: 2837178
.1.3.6.1.2.1.25.2.3.1.3.4 = String: "/proc".1.3.6.1.2.1.25.2.3.1.4.4 = INTEGER: 4096.1.3.6.1.2.1.25.2.3.1.5.4 = INTEGER: 0.1.3.6.1.2.1.25.2.3.1.6.4 = INTEGER: 0
.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.4.5 = INTEGER: 4096.1.3.6.1.2.1.25.2.3.1.5.5 = 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.3.6 = String: "/proc/bus/usb".1.3.6.1.2.1.25.2.3.1.4.6 = INTEGER: 4096.1.3.6.1.2.1.25.2.3.1.5.6 = 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.3.7 = String: "/partB".1.3.6.1.2.1.25.2.3.1.4.7 = INTEGER: 4096.1.3.6.1.2.1.25.2.3.1.5.7 = INTEGER: 4232699.1.3.6.1.2.1.25.2.3.1.6.7 = INTEGER: 2736606
.1.3.6.1.2.1.25.2.3.1.3.8 = String: "/common".1.3.6.1.2.1.25.2.3.1.4.8 = INTEGER: 4096.1.3.6.1.2.1.25.2.3.1.5.8 = INTEGER: 17502476.1.3.6.1.2.1.25.2.3.1.6.8 = INTEGER: 7646375
.1.3.6.1.2.1.25.2.3.1.3.9 = String: "/grub".1.3.6.1.2.1.25.2.3.1.4.9 = INTEGER: 1024.1.3.6.1.2.1.25.2.3.1.5.9 = INTEGER: 252879.1.3.6.1.2.1.25.2.3.1.6.9 = INTEGER: 4303
.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.4.10 = INTEGER: 4096.1.3.6.1.2.1.25.2.3.1.5.10 = INTEGER: 510795.1.3.6.1.2.1.25.2.3.1.6.10 = INTEGER: 5422
.1.3.6.1.2.1.25.2.3.1.3.11 = String: "/spare".1.3.6.1.2.1.25.2.3.1.4.11 = INTEGER: 4096.1.3.6.1.2.1.25.2.3.1.5.11 = INTEGER: 8468466.1.3.6.1.2.1.25.2.3.1.6.11 = INTEGER: 8256
.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.12 = INTEGER: 4096.1.3.6.1.2.1.25.2.3.1.5.12 = INTEGER: 0 

 

Calculation 

****************** 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%

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

 

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 )

( 2073620 – 1869968 – 88008 – 51868 ) = 63776  

63776 * 1024 = 65306624 bytes

 

Calculations in SNMP do not match what is found when the OS is queried? 

 

Check to see if the latest supported version of NET-SNMP is installed on the machine:

# snmp --version

 

Click here for the latest currently supported versions of NET-SNMP.