Posted on April 8, 2021 1:07 pm
 |  Asked by Niranjan Murali
Print Friendly, PDF & Email

Hi, I have a 7280SR2-48YC6 router and I recently noticed that it has 8GB system memory.

But when running the ‘top’ command it shows that 85% of them have been used and found that 1.3 GB is free and 3.1 GB is Cached.

But when I check with the free -h command, it shows below output

total     used     free     shared     buffers    cached
Mem: 7.7G    6.6G    1.1G    0B            234M      3.1G
-/+ buffers/cache: 3.3G    4.4G
Swap: 0B 0B 0B

Will the device use the cached memory if an agent requires additional memory?Can we move some memory from cache to the free memory?

Is there any way to add the extra memory to the switch?

Answered on April 8, 2021 1:16 pm

Hi Niranjan.

The cached memory can be made free once processes require memory. The best way of checking the memory available is to look into the 'Free memory' on the 'show version' output or into the 'MemAvailable' in /proc/meminfo:

show version | grep 'Free memory'
Free memory: 6193076 kB

bash cat /proc/meminfo | grep MemAvailable
MemAvailable: 6170552 kB


Alternatively, you can also use SNMP to monitor the memory usage. This and other details are described in the following article:



Posted by Niranjan Murali
Answered on April 8, 2021 2:07 pm

Hi Diogo,

Thanks. Can you please clarify if it is possible to add additional memory by adding or replacing the DRAM(DDR3)?

Answered on April 8, 2021 2:17 pm

Hi Niranjan.

It is not possible to add additional memory to the switch. Perhaps you can look for optimization options based on your current platform or upgrade to another platform with more memory if this is indeed required. I would suggest speaking with the SE for your account in order to discuss the potential options.

Posted by Adam Levin
Answered on April 8, 2021 3:49 pm

Hi Niranjan,

Since EOS is Linux, the memory management is handled by the Linux kernel.  The buffers and cache memory is automatically used by the kernel as long as the memory is available, but if a user process like an Arista agent requires memory, the kernel will give priority to EOS and automatically move the memory to the process.  You don't have to handle that yourself -- the kernel will do an excellent job of managing the memory of the system.  There's no way to add additional memory to an Arista switch, but it's rarely if ever necessary to do so.

Just because the memory appears to be in use doesn't mean the system is low on memory.  Memory is expensive, so it's better if the Linux kernel makes use of as much as possible instead of leaving it free, which would be a waste of resources.

Posted by Kenneth Finnegan
Answered on April 8, 2021 5:17 pm

Howdy Niranjan,

As for the question on if it is possible to upgrade the memory, it is certainly not supported if you do it, but the 7280SR2 platform uses a pair of unregistered ECC DDR3, so you may be able to find higher density ECC UDIMMs which work with your switch. For a supported configuration, Arista sells "-M" SKUs for switches which include qualified increased RAM and an additional SSD.

So it's possible, but your switch is currently not even using half of the currently installed RAM, so I wouldn't recommend trying to upgrade it. "Cached" memory is data read from the flash drive which is kept around to save time if it needs to be read again, but can be immediately released if the memory is needed by an agent since the original data is always still available on the flash.

Posted by Niranjan Murali
Answered on April 9, 2021 7:26 am

Thanks Adam and Thanks Diogo for the clarification.

Post your Answer

You must be logged in to post an answer.