Cisco memory utilization does not match the OVPI value

  • KM536179
  • 19-Dec-2008
  • 19-Dec-2008

Summary

Certain Cisco network devices can have more than one memory pool. By design OVPI only uses the processor memory pool when calculating memory utilization. If utilization is manually calculated by totaling all of the memory pools together, then the resultant calculation will not match the utilization value found in OVPI.

Question

Certain Cisco network devices can have more than one memory pool. There are various IOS commands that will display different memory pools.

For example:

>sh proc mem

Total: 7837952, Used: 5559060, Free: 2278892  <-- Shows Total of both Processor & I/O memory

If utilization is manually calculated using the total of all of the memory pools together, then the resultant calculation will not match the utilization value found in OVPI.  In this case the utilization using the values from sh proc mem yield a memory utilization of 71% while OVPI shows a utilization of around 86%.


Answer

The memory values seen in the reports are taken ONLY from the processor memory pool. This is by design and due to the fact that only the processor pool is required to be supported by the CISCO-MEMORY-POOL-MIB. All other memory pools are filtered out by OVPI during the transformation process. Taking this into account we see that the utilization numbers are indeed correct.

Here is the correct IOS command to use:

>sh mem
                Head    Total(b)     Used(b)     Free(b)   Lowest(b)  Largest(b)
Processor   80BA6420     4803552     4163416      640136      163068      476572    <-- 86.67% utilized Processor memory

 I/O            A08C16E0     3034400     1396848     1637552     1531720     1610736  <-- 46.06% utilized I/O memory
                                      7837952     5560264     2277688                                    <-- 70.94% utilized for both Processor & I/O memory


In this case, 86% Memory utilization is the value that was found in OVPI.

For reference, here is the description of memory pools from the CISCO-MEMORY-POOL-MIB.


CiscoMemoryPoolTypes:

Represents the different types of memory pools that
may be present in a managed device. Memory pools can
be roughly categorized into two groups, predefined
pools and dynamic pools. The following pool types
are currently predefined:

1: processor memory
2: i/o memory
3: pci memory
4: fast memory
5: multibus memory

Dynamic pools will have a pool type value greater than
any of the predefined types listed above.
Note that only the processor pool is required to be
supported by all devices. Support for other pool types
is dependent on the device being managed