Linux free command

Updated: 04/26/2017 by Computer Hope

About free

Displays the total amount of free and used physical and swap memory in the system, as well as the buffers used by the kernel.

free syntax

free [options]


-b, --bytes

Display the amount of memory in bytes.

-k, --kilo

Display the amount of memory in kilobytes. This is the default.

-m, --mega

Display the amount of memory in megabytes.

-g, --giga

Display the amount of memory in gigabytes.


Display the amount of memory in terabytes.

-h, --human

Show all output fields automatically scaled to shortest three digit unit and display the units of print out. Following units are used.

B = bytes
K = kilos
M = megas
G = gigas
T = teras

If you have a petabyte of RAM or swap, the number is in terabytes and your computer is awesome.

-c, --count count

Display the result count times. Requires the -s option.

-l, --lohi

Show detailed low and high memory statistics.

-o, --old

Display the output in old format; the only difference being this option will disable the display of the "buffer adjusted" line.

-s, --seconds seconds

Continuously display the result delay seconds apart. You may actually specify any floating point number for delay. The usleep system call is used for microsecond resolution delay times.


Use power of 1000 not 1024.

-t, --total

Display a line showing the column totals.


Print help.

-V, --version

Display version information.

free examples


Running free with no options will display a chart similar to the example below.

             total       used       free     shared    buffers     cached
Mem:       1006708     935872      70836          0     148244     346656
-/+ buffers/cache:     440972     565736
Swap:       262140     130084     132056

Tip: When using the free command the two important lines are the -/+ buffers/cache line and Swap line. If you're wanting to get a good idea on how much free memory is available, the free section in the buffers/cache is what you should be reading. Linux will keep the contents of memory in the buffers to help having to access the same data over-and-over from the slower disk drive. If your buffers/cache free memory is low or your swap free is low a memory upgrade is necessary.

free -ms 5

The above command will display the memory in megabytes with the "s 5" telling the system to continuously poll the data and display the results.

watch free

This command is similar to the command mentioned above and uses watch to display the current memory usage.

ps — Report the status of a process or processes.
top — Display a sortable, continually-updated list of processes.
vmstat — Report statistics about virtual memory usage.