What is available memory while using free command?

The output of the free command that I fired on my linux host is as belows:

free
              total        used        free      shared  buff/cache   available
Mem:      263846320    47746620     3290072     1140808   212809628   214382420
Swap:             0           0           0

I am not able to figure out what this available part is specifying. The free memory is very less shown i.e around 1.24% even though the total memory is way high and used memory is around 18.09% only.

free -h
              total        used        free      shared  buff/cache   available
Mem:           251G         45G        3.1G        1.1G        202G        204G
Swap:            0B          0B          0B

Does it mean I wont be able to start more applications as free memory is very less. The used memory is 18% only. So shouldn't free memory be 72% and not 1.24% as the command is showing above.

I am confused. Can anyone help?


Solution 1:

In the output of free,

  • Free memory is the amount of memory which is currently not used for anything. This number should be small, because memory which is not used is simply wasted.

  • Available memory is the amount of memory which is available for allocation to a new process or to existing processes.

The example given in the question shows a healthy system.