Skip to main content

Command Palette

Search for a command to run...

How to Find Memory in Linux

Published
6 min readView as Markdown

Finding memory information in Linux is essential for managing your system effectively. Whether you want to check how much RAM is installed, how much is being used, or details about swap space, Linux offers several easy ways to get this information. You don’t need to be a Linux expert to understand these commands and tools.

In this article, I’ll guide you through the most common methods to find memory details on your Linux system. You’ll learn how to use commands like free, top, and vmstat, as well as how to read memory info from system files. By the end, you’ll be confident in checking your system’s memory anytime you want.

Understanding Memory in Linux

Before diving into commands, it helps to understand what memory means in Linux. Memory usually refers to RAM (Random Access Memory), which is your system’s short-term data storage. Linux also uses swap space, which is disk space used when RAM is full.

Linux manages memory efficiently by using free RAM for caching to speed up processes. This means that sometimes free memory looks low, but it’s actually being used to improve performance. Knowing this helps you interpret the memory data correctly.

Key memory terms you should know:

  • Total Memory: The total RAM installed on your system.
  • Used Memory: RAM currently in use by processes and the system.
  • Free Memory: RAM not being used at all.
  • Buffers and Cache: Memory used by the system to speed up disk operations.
  • Swap Space: Disk space used as virtual memory when RAM is full.

Using the free Command to Check Memory

The free command is one of the simplest ways to check memory usage in Linux. It shows you total, used, free, shared, buffer/cache, and available memory.

To use it, open your terminal and type:

free -h

The -h option means “human-readable,” so the output shows memory in MB or GB instead of bytes.

Example output:

              total        used        free      shared  buff/cache   available
Mem:           7.8G        3.2G        1.0G        200M        3.6G        4.1G
Swap:          2.0G          0B        2.0G

Here’s what each column means:

  • total: Total RAM installed.
  • used: RAM currently used by processes.
  • free: RAM completely free.
  • shared: Memory shared between processes.
  • buff/cache: Memory used for buffers and cache.
  • available: Memory available for new processes without swapping.

You can also use free without options for bytes or with -m for MB.

Checking Memory with top and htop

The top command is a real-time system monitor that shows CPU and memory usage by processes. It’s useful if you want to see which processes use the most memory.

Run it by typing:

top

Look at the summary at the top for memory info:

KiB Mem :  8000000 total,  3200000 free,  1000000 used,  3800000 buff/cache
KiB Swap:  2000000 total,  2000000 free,        0 used.  4100000 avail Mem

You can press q to quit top.

For a more user-friendly version, install htop:

sudo apt install htop   # Debian/Ubuntu
sudo yum install htop   # CentOS/RHEL

Run it with:

htop

htop shows memory bars and lets you sort processes by memory usage easily.

Viewing Memory Info from /proc/meminfo

Linux stores detailed memory info in the /proc/meminfo file. You can read it with:

cat /proc/meminfo

This file contains many lines like:

MemTotal:        8000000 kB
MemFree:         1000000 kB
Buffers:          200000 kB
Cached:          3600000 kB
SwapTotal:       2000000 kB
SwapFree:        2000000 kB

Each line shows a specific memory metric. This file is updated in real-time and is very detailed.

If you want to find just total memory, use:

grep MemTotal /proc/meminfo

This method is useful for scripts or when you want precise info.

Using vmstat to Monitor Memory and System Performance

The vmstat command reports virtual memory statistics, including memory, swap, and CPU usage. It’s helpful for monitoring system performance over time.

Run:

vmstat 2 5

This runs vmstat every 2 seconds, 5 times. The output includes columns like:

  • swpd: Amount of swap used.
  • free: Free memory.
  • buff: Buffers used.
  • cache: Cached memory.

vmstat helps you see how memory usage changes, which is useful for troubleshooting.

Checking Swap Space Usage

Swap space acts as extra memory on your disk. It’s slower than RAM but helps prevent crashes when RAM is full.

To check swap usage, use:

swapon --show

This lists swap devices and their sizes.

You can also see swap info with:

free -h

Look for the “Swap” line to see total, used, and free swap.

If you want to add swap space, you can create a swap file or partition, but that’s a more advanced topic.

Using Graphical Tools to Check Memory

If you prefer graphical tools, many Linux desktop environments include system monitors.

  • GNOME System Monitor: Shows memory usage with graphs and process lists.
  • KDE System Monitor: Similar tool for KDE users.
  • Conky: A customizable desktop widget that can display memory stats.

These tools make it easy to see memory usage at a glance without using the terminal.

Tips for Managing Memory in Linux

Knowing how to find memory is just the first step. Here are some tips to manage memory effectively:

  • Close unused applications to free up RAM.
  • Monitor memory-hungry processes with top or htop.
  • Use swap space wisely but avoid heavy swapping as it slows down your system.
  • Clear cache if needed with sync; echo 3 > /proc/sys/vm/drop_caches (requires root).
  • Add more RAM if your system frequently runs out of memory.

Regularly checking memory helps you keep your Linux system running smoothly.

Summary Table of Commands to Find Memory in Linux

CommandPurposeExample Usage
free -hShow memory and swap usagefree -h
topReal-time process and memory infotop
htopInteractive process viewerhtop
cat /proc/meminfoDetailed memory infocat /proc/meminfo
vmstatMemory and system statsvmstat 2 5
swapon --showShow swap devices and usageswapon --show

Using these commands, you can quickly find any memory-related information you need.

Conclusion

Finding memory information in Linux is straightforward once you know the right commands. Tools like free, top, and reading /proc/meminfo give you a clear picture of your system’s RAM and swap usage. Whether you prefer command-line or graphical tools, Linux provides many options to monitor memory.

By regularly checking your memory, you can avoid performance issues and keep your system running efficiently. Remember, Linux uses memory smartly with caching, so don’t worry if free memory looks low. With these tips and commands, you’re ready to manage your Linux memory like a pro.

FAQs

How do I check total RAM in Linux?

You can check total RAM by running free -h or by viewing /proc/meminfo with grep MemTotal /proc/meminfo.

What is the difference between free and available memory?

Free memory is completely unused RAM, while available memory includes free RAM plus memory used for cache and buffers that can be freed if needed.

How can I see which process uses the most memory?

Use top or htop to view running processes sorted by memory usage.

How do I check swap space usage?

Run swapon --show or check the swap line in free -h output to see swap usage.

Can I clear cache memory in Linux?

Yes, you can clear cache with sync; echo 3 > /proc/sys/vm/drop_caches as root, but it’s usually not necessary since Linux manages cache efficiently.

More from this blog

L

LinuxBloke | Linux Tips, Tricks & Troubleshooting

672 posts