03-03-2016 12:53 PM - edited 03-05-2019 03:29 AM
Hi All,
I have got an ASR router which shows really low free physical memory.
ASR1002#sh memory platform | b Mem
Memory (kB)
Physical : 3969384
Total : 3969384
Used : 3626452
Free : 342932
Active : 2152620
Inactive : 1164812
ASR1002#sh processes memory
Processor Pool Total: 1098558512 Used: 754196888 Free: 344361624
lsmpi_io Pool Total: 6295128 Used: 6294296 Free: 832
cisco ASR1002-X (2RU-X) processor (revision 2KP) with 1073031K/6147K bytes of memory.
Processor board ID SSI17040JM4
6 Gigabit Ethernet interfaces
32768K bytes of non-volatile configuration memory.
4194304K bytes of physical memory.
6684671K bytes of eUSB flash at bootflash:.
Configuration register is 0x2102
Is this an expected behavior?
CF
03-03-2016 10:34 PM
Hello,
I hope this excerpt will help--
"The ASR1K runs IOS-XE, not the traditional IOS. In IOS-XE, a Linux component runs the kernel, and the IOS runs as a daemon, which hereafter is referred as IOSd (IOS-Daemon). This creates a requirement that the memory be split between the Linux kernel and the IOSd instance.
The memory that is split between IOSd and the rest of the system is fixed at startup and cannot be modified. For a 4-GB system, IOSd is allocated approximately 2 GB, and for a 8-GB system, the IOSd is allocated approximately 4 GB (with software redundancy disabled).
Since the ASR1K has a 64-bit architecture, any pointer that is in every data structure in the system consumes double the amount of memory when compared to the traditional single-CPU platforms (8 bytes instead of 4 bytes). The 64-bit addressing enables IOS to overcome the 2-GB addressable memory limitation of IOS, which allows it to scale to millions of routes."
I reckon this should be exepcted, in case you don't see any suspicious log messages or processes failing due to a MALLOC error I believe things are fine. The memory is also split between various other processes as well like the I/O buffer, the buffer used to transfer packets from the RP to the forwarding processor etc.
If you see any errors or any processes breaking then I would suggest to open a TAC case, that'll help isolate any memory leaks or stuck processes not releasing memory.
Regards,
Shaunak
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide