Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
Skip to content
Linux

How to Check Memory Usage in Linux: free, top, vmstat, /proc/meminfo and dmidecode

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For a fast system-wide check, run free -h. It shows RAM, swap and an available estimate—the figure that matters more than the raw free column when deciding whether Linux can start more applications without swapping. Use top or ps to identify large processes, vmstat 1 to watch memory pressure over time, /proc/meminfo for kernel counters, and sudo dmidecode -t 17 to inventory physical RAM modules.

The Linux Foundation published the original Jack Wallen article on March 6, 2022, demonstrating on Ubuntu Server 18.04. Its “five commands” title is technically imprecise: /proc/meminfo is a virtual procfs file, not a command. Availability of these utilities and their options varies among distributions, package versions, minimal images, containers and virtual machines.

What “memory usage” means in Linux

Several different measurements are commonly called memory usage:

  • Total: usable physical RAM.
  • Free: RAM currently idle.
  • Available: an estimate of memory that can be allocated to new applications without swapping. Linux derives it from reclaimable cache and other information, so it is generally more useful than free alone.
  • Used: in current free output, total minus available; it is not simply application memory.
  • Buffers and cache: kernel buffers, page cache and reclaimable kernel memory that Linux can often reuse.
  • Swap used: occupied swap space. It does not by itself prove that the system is currently thrashing.
  • Resident process memory: physical pages currently resident for a process.
  • Virtual memory: address space mapped or reserved by a process, not necessarily RAM in use.

A low free value is therefore not automatically an emergency. Check available, active swap movement and application behavior.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sale
CORSAIR Vengeance LPX DDR4 RAM 32GB (2x16GB) Up to 3200MHz CL16-20-20-38 1.35V Intel XMP AMD EXPO Computer Memory – Black (CMK32GX4M2E3200C16)
  • Disclaimer: Maximum Speed requires overclocking/PC BIOS adjustments. Maximum speed and performance depend on system components, including motherboard and CPU
  • Hand-sorted memory chips ensure high performance with generous overclocking headroom
  • VENGEANCE LPX is optimized for wide compatibility with the latest Intel and AMD DDR4 motherboards
  • A low-profile height of just 34mm ensures that VENGEANCE LPX even fits in most small-form-factor builds
  • A solid aluminum heatspreader efficiently dissipates heat from each module so that they consistently run at high clock speeds

Fastest one-time check: free

free -h

The -h option uses human-readable binary units such as KiB, MiB and GiB. The utility reads /proc/meminfo and reports physical and swap memory.

free -h -s 1
free -h -w
free -h -s 1 -c 5
free -m
free -g
free -b

-s 1 repeats every second, -c 5 limits the run to five reports, and -w keeps buffers and cache in separate columns. The older -m, -g and -t forms remain useful when a script or person requires a particular scale or a total row. See the current free manual for implementation details.

Column Meaning
total Physical RAM or swap capacity visible to the system.
used Total minus available in current procps-style output.
free RAM not currently allocated.
buff/cache Buffers, page cache and reclaimable memory.
available Estimated memory that can be used for new applications without swapping.

Find the largest memory-consuming process

Interactive view with top

top
top -o %MEM

In current procps-ng top, press M to sort by memory, c to toggle command names and full command lines, h or ? for help, and q to quit. E or e changes display scaling on versions that support those keys. The -o %MEM startup sort is supported by procps-ng-style implementations, not every top.

Rank #2
Timetec 16GB KIT(2x8GB) DDR3L / DDR3 1600MHz (DDR3L-1600) PC3L-12800 / PC3-12800 Non-ECC Unbuffered 1.35V/1.5V CL11 2Rx8 Dual Rank 240 Pin UDIMM Desktop PC Computer Memory RAM(SDRAM) Module Upgrade
  • [Color] PCB color may vary (black or green) depending on production batch. Quality and performance remain consistent across all Timetec products.
  • DDR3L / DDR3 1600MHz PC3L-12800 / PC3-12800 240-Pin Unbuffered Non-ECC 1.35V / 1.5V CL11 Dual Rank 2Rx8 based 512x8
  • Module Size: 16GB KIT(2x8GB Modules) Package: 2x8GB ; JEDEC standard 1.35V, this is a dual voltage piece and can operate at 1.35V or 1.5V
  • For DDR3 Desktop Compatible with Intel and AMD CPU, Not for Laptop
  • Guaranteed Lifetime warranty from Purchase Date and Free technical support based on United States
Field Interpretation
%MEM Process resident share of physical memory.
RES Resident memory currently in RAM.
VIRT Virtual address space and mappings; not equivalent to RAM use.
SHR Memory that may be shared with other processes.
SWAP Process pages currently located in swap, where reported.

Consult the top manual. A large process at one instant is not proof of a leak; record observations over time.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Noninteractive process listing

ps aux --sort=-%mem | head
ps -eo pid,ppid,comm,%mem,rss,vsz --sort=-%mem | head -n 15

RSS is usually shown in KiB and represents resident memory; VSZ is virtual size. Shared pages mean that adding every process’s RSS will not produce an exact system total.

Watch swapping and pressure over time with vmstat

vmstat 1
vmstat 1 5
vmstat -y 1
vmstat -s

vmstat 1 emits one report per second. The first report summarizes averages since boot; later reports describe each sampling interval. -y suppresses the since-boot first line, and -s prints cumulative counters rather than an interval stream. Refer to the vmstat manual.

Rank #3
Dell Optiplex 3060 Desktop Computer | Intel i5-8500 (3.2) | 32GB DDR4 RAM | 1TB SSD Solid State | Built in WiFi | Bluetooth | Windows 11 Professional | Home or Office PC (Renewed)
  • [INTEL POWERED CONTENT] - Built with a 8th Generation Hexa-Core Intel i5 and 32GB of DDR4 RAM; Modern, Windows 11 ready, with 4K support, Executive multitasking, media streaming and smooth, multi-tab web browsing; Perfect as an all-purpose multimedia computer; built for content creators; Plenty of RAM and Mass storage for photo and video editing powered by Intel HD 630
  • [LATEST WIRELESS TECH] - This Dell Desktop Computer easily connects to the internet through the Built In WiFi / Bluetooth
  • [SOLID STATE STORAGE] - This Dell Computer setup comes with an ultra-fast 1TB Solid State Drive (SSD); Setup as the primary boot device; Boot and load programs with lightning speed ; Additional expansion available
  • [BUY & OWN WITH CONFIDENCE] - From the world's largest Microsoft Authorized Refurbisher; Quality Guarantee and Free Tech Support; Award-winning Customer Service; | Support Sustainable Business
  • [MODERN HI-SPEED PORTS] - USB 3.0 (x4) | USB 2.0 (x4) | DisplayPort (x1) | HDMI Port (x1) | Audio Combo Jack (x1) | Audio Out (x1) | RJ-45 Ethernet (x1) | Internal SATA (x3)
Column What to watch
swpd Swap memory currently used.
si Memory swapped in per second.
so Memory swapped out per second.
free Idle memory.
buff/cache Buffer and cache memory.
r Runnable processes.
b Processes blocked, often waiting for I/O.

High swpd with near-zero si and so can indicate past swap use without current pressure. Sustained nonzero swap-in or swap-out, falling available memory and worsening latency are stronger evidence of active pressure.

Read kernel counters from /proc/meminfo

cat /proc/meminfo
less /proc/meminfo
grep -E '^(Mem|Swap|SReclaimable|Shmem|Slab)' /proc/meminfo
grep -E '^(MemTotal|MemFree|MemAvailable|Buffers|Cached|SwapCached|SwapTotal|SwapFree):' /proc/meminfo

The kernel documentation describes this procfs interface as memory-distribution information and warns that counters can overlap, so they should not be treated as independent addends. Definitions are documented in the kernel proc filesystem documentation and the proc_meminfo manual.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • MemTotal: total usable RAM.
  • MemFree: currently idle RAM.
  • MemAvailable: estimate available without swapping; documented since Linux 3.14.
  • Buffers: kernel buffer memory.
  • Cached: file page cache, excluding SwapCached.
  • SwapCached: pages brought back into RAM while still retained in swap.
  • SwapTotal and SwapFree: swap capacity and unused swap.
  • Slab, SReclaimable and SUnreclaim: kernel slab categories.
  • Shmem: shared-memory and tmpfs-related memory.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Inspect installed RAM modules with dmidecode

sudo dmidecode -t 17
sudo dmidecode --type memory
sudo dmidecode -t 17 | less
sudo dmidecode -t 17 > dmi_info.txt

Type 17 queries memory-device records. Depending on firmware, output can include module size, slot locator, form factor, DDR type, speed, manufacturer, part number, serial number and empty slots. This is hardware inventory—not live utilization—and normally requires elevated privileges.

dmidecode relies on firmware-provided DMI/SMBIOS data. Virtual machines may expose synthetic or incomplete records, and some systems restrict access. For a simple visible total, compare it with free -h or grep MemTotal /proc/meminfo.

A practical diagnostic workflow

  1. Establish capacity and headroom: run free -h and inspect available, not just free.
  2. Check activity: run vmstat 1 5; sustained si/so is more informative than swap allocation alone.
  3. Attribute usage: run ps -eo pid,ppid,comm,%mem,rss,vsz --sort=-%mem | head -n 15 or sort top with M.
  4. Investigate kernel and shared memory: inspect the filtered /proc/meminfo fields.
  5. Confirm ownership before action: identify the service, capture diagnostics and use its service manager where appropriate, for example sudo systemctl status service-name followed by sudo systemctl stop service-name. Do not kill a process merely because it is large.

When a command is missing or the environment is unusual

command -v free top vmstat dmidecode
top -h
free --help
vmstat --help
dmidecode --help

free, top and vmstat commonly come from procps or procps-ng; dmidecode is often a separate package. Minimal distributions and BusyBox may provide reduced implementations, so verify the local help output rather than assuming every option exists.

In containers, output may reflect the host, a namespace or a cgroup-limited view, depending on runtime, procps version and configuration. Distinguish host RAM from the container’s memory limit and in-container usage. In a VM, dmidecode describes exposed virtual hardware, not necessarily the physical host.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Command chooser

Question Use first Main limitation
How much RAM and swap are available now? free -h No process attribution.
Which process is largest? top or ps A snapshot does not establish a leak.
Is swapping active? vmstat 1 Requires interpreting interval columns.
What kernel categories contribute to memory? /proc/meminfo Counters can overlap.
What physical modules are installed? sudo dmidecode -t 17 Needs privileges and reliable SMBIOS data.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Read next

Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.