Linux Free Command: Memory Metrics Explained

The free command is a fundamental Linux utility designed to display a fast, real-time snapshot of system memory usage, including both physical RAM and swap space. This article breaks down the metrics reported by the command—specifically detailing the columns for total, used, free, shared, buffer/cache, and available memory—to help administrators accurately assess memory consumption and avoid common misinterpretations regarding Linux memory management.

Standard Output Overview

When you run free without any flags, it reports values in kibibytes (KiB). To make the values easier to read, it is commonly executed with the human-readable flag:

free -h

A typical output displays two primary rows:

The Memory Metrics Columns

The output organizes data into several distinct columns:

Common Command Options

Interpreting Memory Health

A common misconception among new Linux administrators is believing the system is running out of memory when the free column drops near zero. Linux uses idle memory for caches to speed up operations. Memory health should primarily be evaluated using the available column (for headroom) and the used metric in the Swap row (to see if the system is heavily relying on slower disk-backed memory).