cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1394
Views
0
Helpful
4
Replies

Memory Utilization in ISE and SolarWInds

Siyadh34
Level 1
Level 1

Hi Team,

In ISE the calculation for memory utilization is given below.

The formula we use for the GUI is: [ (MemTotal - (MemFree+Buffers+Cached))/ MemTotal ]*100.

The SolarWinds calculation for memory utilization is given below.

The operating system calculates the memory utilization by [ (Memtotal - MemFree) / MemTotal ]* 100.

Above these two formulae we get different results. So, do we have any way to calculate the same way in Operating System as how it calculates in GUI.

1) Can we get the OID used for Buffers/Cached to the SolarWinds to calculate the same way as how it calculates in GUI?

 

4 Replies 4

Arne Bier
VIP
VIP

Bearing in mind that the OS will report the memory "requested" by apps, as well as its own system cache - but in a Hypervisor scenario, you can get different results because not all of the reported "used memory" is actually paged into RAM - so ISE might report that it's using 10GB, but the hypervisor reports that only 3GB is actually paged into RAM. But since we should deploy ISE with 100% reserved RAM, I guess that is a moot point. Still. Having high memory utilisation is not always a problem, because having RAM unused is worse than having to constantly read pages in from disk. I find that ISE reports an almost constant memory usage, with occasional dips as the garbage collector kicks in.

I always start by looking at what the operating system is reporting in the SNMP MIB. In this case the Redhat Linux uses the standard UCD-SNMP-MIB

With snmpwalk you can see the following against an ISE 3.3

abier@labubu-01:~$ snmpwalk -c public -v 2c 172.22.128.20 UCD-SNMP-MIB::memory
UCD-SNMP-MIB::memIndex.0 = INTEGER: 0
UCD-SNMP-MIB::memErrorName.0 = STRING: swap
UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 8192496 kB
UCD-SNMP-MIB::memAvailSwap.0 = INTEGER: 8164640 kB
UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 32719628 kB
UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 11836756 kB
UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 20001396 kB
UCD-SNMP-MIB::memMinimumSwap.0 = INTEGER: 16000 kB
UCD-SNMP-MIB::memShared.0 = INTEGER: 3213360 kB
UCD-SNMP-MIB::memBuffer.0 = INTEGER: 43852 kB
UCD-SNMP-MIB::memCached.0 = INTEGER: 4214732 kB
UCD-SNMP-MIB::memory.18.0 = Counter64: 8192496
UCD-SNMP-MIB::memory.19.0 = Counter64: 8164640
UCD-SNMP-MIB::memory.20.0 = Counter64: 32719628
UCD-SNMP-MIB::memory.21.0 = Counter64: 11836756
UCD-SNMP-MIB::memory.22.0 = Counter64: 20001396
UCD-SNMP-MIB::memory.23.0 = Counter64: 16000
UCD-SNMP-MIB::memory.24.0 = Counter64: 3213360
UCD-SNMP-MIB::memory.25.0 = Counter64: 43852
UCD-SNMP-MIB::memory.26.0 = Counter64: 4214732
UCD-SNMP-MIB::memSwapError.0 = INTEGER: noError(0)
UCD-SNMP-MIB::memSwapErrorMsg.0 = STRING: 

If you want the OID then you can use the -On argument in snmpwalk - e.g.

snmpwalk -c public -On -v 2c 172.22.128.20  UCD-SNMP-MIB::memTotalReal

.1.3.6.1.4.1.2021.4.5.0 = INTEGER: 32719628 kB

 

Which lines up with what you see in the ISE CLI

ise33/admin#show memory 
memory total memory:       32719628 kB
       free memory:        11817332 kB
       cached:          4111976 kB
       swap-cached:         3328 kB
       
       output of free command:
                     total        used        free      shared  buff/cache   available
       Mem:       32719628    16638808    11817016     3213360     4263804    12400020
       Swap:       8192496       27856     8164640

 

ISE GUI Reports that 50% of the memory is utilised. So that would mean Total/Used

ise memory.png

 

Hi Arne Bier,

Thanks for the information.

Are we able get the OID of Buffer/cache memory from ISE.

If we can get the OID of Buffer/Cache memory that will be useful.

 

Arne Bier
VIP
VIP
UCD-SNMP-MIB::memBuffer = .1.3.6.1.4.1.2021.4.14.0
UCD-SNMP-MIB::memCached = .1.3.6.1.4.1.2021.4.15.0

NightEditi0n
Level 1
Level 1

Using the following still doesn't align what is showing in the GUI for memory usage.

[ (MemTotal - (MemFree+Buffers+Cached))/ MemTotal ]*100

Anyone know how to get the same value via SNMP that's displayed in the GUI?