...
Over time on an IOS-XE Routers, such as ASR1xxx's, ASR9xx, and ISR4xxx routers, and other running IOS-XE code, the kernel will use free space to grow it's cache which will cause the free memory to slowly shrink over time. This can look like the router is experiencing a memory leak and is potentially in danger of running out of memory, when in fact the memory usage is fine since the cache can be freed if the memory is needed. This can also cause a false alarm in network management software if the incorrect free memory OID is polled.
This is not a hardware dependency so this will happen on any router running IOS-XE over time or upon boot up for low end routers such as ISR43xx routers and others.
Instead of looking at the used and free values in "show platform software status control-processor brief" to determine if the memory usage is healthy, instead use the committed memory value. If the committed memory is over 90% and you meet the minimum required DRAM (as specified in Cisco.com), please work with TAC for further investigation. If it is less than 90%, then the memory usage is fine. If this issue is causing an alarm in network management software, the following OID should be used instead: "cpmCPUMemoryCommitted" (1.3.6.1.4.1.9.9.109.1.1.1.1.27) http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?local=en&translate=Translate&objectInput=1.3.6.1.4.1.9.9.109.1.1.1.1.27 Please note that if you later upgrade to an IOS release where this bug is fixed, you will need to again revert the OID back to: "cpmCPUMemoryUsed" (1.3.6.1.4.1.9.9.109.1.1.1.1.12) http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?local=en&translate=Translate&objectInput=1.3.6.1.4.1.9.9.109.1.1.1.1.12
The fix for this will make the output of "show platform software status control-processor brief" more clear about how much memory is actually available for use. The Used Memory is accurate after used memory utilization actually cross 88% [warning level]. In other words, this fix is only valid for situations where the memory has reached/crossed the 88% threshold. NOTE: this code enhancement is only available in 3.17S release. Any older code or 16.3.1 onwards won't have this code enhancement. See below bug for more details for fix in Denali-16.3.1 onwards CSCva29067 - Free memory in show command in IOS-XE fixed to show accurate value