Free Command in Linux
How much free RAM memory do I have available on my Linux system? Is there enough free memory to install and run new applications?
In Linux systems, you can use the free
command to get a detailed report on the system’s memory usage.
The free
command provides information about the total amount of the physical and swap memory, as well as the free and used memory.
How to Use the free Command
The syntax for the free
command is as follows:
$ free [OPTIONS]
When used without any option, the free
command will display information about the memory and swap in kibibyte. 1 kibibyte (KiB) is 1024 bytes.
$ free
The output will include three lines, a header, one line for the memory and one for the swap:
OUTPUT
total used free shared buff/cache available
Mem: 8075208 3204964 1310540 551232 3559704 4198340
Swap: 2097148 0 2097148
In older Linux versions, the output may be slightly different.
total – This number represents the total amount of memory that can be used by the applications.- used – Used memory. It is calculated as:
used = total - free - buffers - cache
- free – Free / Unused memory.
- shared – This column can be ignored as it has no meaning. It is here only for backward compatibility.
- buff/cache – The combined memory used by the kernel buffers and page cache and slabs. This memory can be reclaimed at any time if needed by the applications. If you want buffers and cache to be displayed in two separate columns, use the
-w
option. - available – An estimate of the amount of memory that is available for starting new applications, without swapping.
Showing Memory Usage in Human Readable Format
By default, the free
command shows the memory information in kibibyte. To view the information in human-readable format (usually megabytes and gigabytes), use the -h
option:
free -h
OUTPUT
total used free shared buff/cache available
Mem: 487M 219M 54M 4.5M 214M 228M
Swap: 1.5G 0B 1.5G
Showing Memory Usage in Other Metrics
The free
command also allows you to specify the unit in which the memory is measured. Valid options are:
-b
,--bytes
– Display output in bytes.--kilo
– Display output in kilobytes (1KB = 1000bytes).--mega
– Display output in megabytes.--giga
– Display output in gigabytes.--tera
– Display output in terabytes.-k
,--kibi
– Display output in kibibytes. (1KiB = 1024bytes). This is the default unit.-m
,--mebi
– Display output in mebibytes.-g
,--gibi
– Display output in gibytes.--tebi
– Display output in tebibytes.--peti
– Display output in pebibytes.--si
– Instead of 1024, use powers of 1000. For example--mebi --si
is equal to--mega
.
For example, to show the output in megabytes, you would type:
$ free --mega
OUTPUT
total used free shared buff/cache available
Mem: 8075 4022 233 614 3819 3336
Swap: 2097 0 2097
Showing the Column Totals
To display a line showing the column totals, use the -t
option. This gives you a sum of the memory and swap in the total, used and free columns.
$ free -h -t
OUTPUT
total used free shared buff/cache available
Mem: 7.7G 3.9G 483M 526M 3.4G 3.2G
Swap: 2.0G 0B 2.0G
Total: 9.7G 3.9G 2.5G
Continuously Print the Output
To continuously display the memory information on the screen, invoke free
with the -s
(--seconds
) option followed by a number that specifies the delay.
For example, to print the memory information every five seconds you would run:
$ free -s 5
The free
command will continue to display the result until you press CTRL+C
. This is similar to the behavior of the watch
command .
To display the result for a specific number of times, use the -c
(--count
) option. In the example below the command will print the result ten times:
$ free -s 5 -c 10
Conclusion
We have shown you how to use the free
command to check the system’s memory usage and interpret the command output. To view all available options type man free
in your terminal.
Leave a Reply