[j-nsp] Why doesn't memory utilization in "show chassis routing-engine" count in "Inactive" and "Buffers" memory?

Martin T m4rtntns at gmail.com
Fri Oct 9 09:57:57 EDT 2015


Hi,

according to "The Design and Implementation of the FreeBSD Operating
System"(https://books.google.ee/books?id=KfCuBAAAQBAJ&pg=PA290&lpg=PA290)
kernel divides used memory into five lists: Active, Inactive, Wired,
Cache and Free. In addition, some memory is used for disk caching.
Utilization of those lists can be seen with "top" or "show system
processes extensive" commands. For example:

Mem: 130M Active, 42M Inact, 51M Wired, 14M Cache, 34M Buf, 764K Free
Swap: 512M Total, 512M Free


So actually *used* memory is Wired and Active and if those two pools
need additional amount of memory then this is taken from Inactive,
Cached, Buffers or Free pools. This makes me wonder why "show chassis
routing-engine" command calculates memory according to following
formula(at least on M and MX series):

Memory utilization % = (Total - Free - Cached)/Total

In other words, it doesn't count in Inactive and Buffers lists as free
memory while actually those should be available for Active and Wired
immediately if needed. This makes one believe that memory utilization
on his RE is always very high.


Why doesn't memory utilization in "show chassis routing-engine" count
in Inactive and Buffers memory?



thanks,
Martin


More information about the juniper-nsp mailing list