The "available" memory value is used to determine the amount of memory that can be allocated to new processes without triggering excessive swapping or performance degradation. It provides an estimate of how much memory is readily accessible for use.
The difference between "free" and "available" memory lies in how they consider memory that is currently used by the system. While "free" memory only accounts for the memory that is completely unused, "available" memory takes into consideration the memory that is used but can be freed up if necessary.
Available memory value can be obtained via free command in Linux
Two possible cases:
(i) Available memory will be directly present in the free command output and can be used as is.
(ii)Available memory will not be directly present in the output and we need to calculate from other values
Case 1:
Sample output:
- test-user@test-machine:~$ free -m
total used free shared buff/cache available
Mem: 11789 7890 820 330 3078 3256
Swap: 30719 4204 26515
Formula used:
Available memory (in %) = (available/total)*100
= (3256/11789)*100
= 27.618966833
Case 2:
For RHEL6 servers.
Sample output:
- test-user@test-machine:~# free -m
total used free shared buffers cached
Mem: 775305 546396 228909 358556 510 415969
-/+ buffers/cache: 129916 645388
Swap: 24575 0 24575
Formula used:
Available memory (in %) = (Free+Cached/TotalMem)*100
[Above calculation shared by cx]
= ((228909+415969)/775305)*100
= 83.177330212
Related links