This is the output of free -h
command on my Ubuntu 18.04
laptop:
$ free -hg
total used free shared buff/cache available
Mem: 11G 4,2G 3,4G 801M 4,0G 6,3G
Swap: 11G 0B 11G
From what I understand after a short research using mostly stackexchange sites (e.g. this elaboration), the main difference between free
and available
memory is that free
is actually free
and available
can become free
if the need arises.
What is the process via which the available
memory is allocated to a task that creates the relevant need?
Does flushing dirty pages and freeing up cache
(to allocate the memory freed up to a process that requires it) constitute part of such a process?
In such a case I assume available
should always be > cache
.