we have 463 RHEL 7.6 machines in the cluster most of then are HDFS machines ( datanode )

from free -g command we can that usually buff/cache is around 30-50 when total memory is 256G

as I know - a buffer is an area of memory used to temporarily store data while being moved from one place to another

but the available memory is also memory that used for application

so I am little confused , what is the diff between buff/cache to available memory ?


1 Answer 1


Available memory is the total amount of RAM available for applications.
buff/cache is memory that Linux uses for disk caching; it is freed when applications require it, so it doesn't count as "used" memory.

Quoting from http://www.linuxatemyram.com (emphasis mine):

Both you and Linux agree that memory taken by applications is "used", while memory that isn't used for anything is "free".

But how do you count memory that is currently used for something, but can still be made available to applications?

You might count that memory as "free" and/or "available". Linux instead counts it as "used", but also "available". (...) This "something" is (roughly) what top and free calls "buffers" and "cached". Since your and Linux's terminology differs, you might think you are low on ram when you're not.

See also:

Not the answer you're looking for? Browse other questions tagged or ask your own question.