All Cisco devices have several types of memory, including processor memory, PCI memory, Cisco flash memory cards, and shared memory, also known as I/O memory. Depending on the device, some products will have more of some types of memory than others. The Cisco memory MIB database has a table (namely, the ciscoMemoryPoolTable) which contains a number of entries, each with a pair of variables. Each entry in the memory-pool table corresponds to a pool of the total shared memory component. These MIB variables are ciscoMemoryPoolFree and ciscoMemoryPoolUsed, each being the complement of the other for every pool. By adding the variables together, the total size of a given pool can be determined, as reported by RME. By adding the total size of each pool together, the total Cisco I/O memory available can be determined.
The Cisco Inventory application on all Cisco IOS devices refers to the MIB when a device is imported into inventory, as does the Software Image Manager (SWIM) when verifying that there is sufficient shared memory available for all software images present during any upgrade process.
All versions of the Cisco IOS (Internetwork Operating System) after version 11.1 that is used by most Cisco routers and non-firewall hardware around the world has functionality to report MIB values over the network via SNMP (Simple Network Management Protocol), allowing network administrators and other authorized device managers to make queries to the database from across the network. Obsolete versions of the IOS do not have this functionality and can only report the size of processor memory, lacking the more advanced features offered by later, network-capable MIB incarnations.
Due to the way IOS has changed as Cisco technology has matured, and more specifically, how individual applications have retained legacy support as they've been upgraded, there can discrepancies between how different applications determine how much memory is available. Cisco advises customers to refer to the information generated by the Inventory program's Detailed Device Report function to determine how much memory a device has. For operators using equipment with earlier versions of IOS (pre 11.1), the output from the Show Version command should be used instead.
.
About the Author
John J Stockwell writes on a variety of tech subjects, and has special expertise in Cisco memory design. Read more of his original expert articles on Cisco memory at http://ciscomemoryworld.com