I'm using CentOS 7, I find my available memory is less than free memory, but why?
root@localhost:~# free -h
total used free shared buff/cache available
Mem: 251G 1.9G 249G 9.2M 260M 248G
Swap: 64M 49M 14M
There is a same problem, but the answer did not explain why the available is less than free, it is just talk about the cache.
why centos7 free command output available value less than free value
Best Answer
The available memory is just a estimate of how memory can be really used in your system for loading programs, so it is not a precise value.
As you probably already knows the normal behavior is to have the available memory bigger than the free memory, but in your case the opposite occurs, because the statistics used to calculate this estimated value will be helped by greater cache/buffers values, but they are penalized in your system because you dont have high cache or buffers, and because all the other things it takes into negative account, your available memory will get greater negative impact... so it is probably underestimated, as it will consider that this percentage of all your free memory, will be necessary for a lot of other things than simple loading programs (specially when you load programs - system will need more and more memory to store informations about the processes and much more - also like having a reasonable value of caches and buffers......).
From github: