How to Check Memory Usage in Linux, 5 Simple Commands

Introduction

If you’re a Linux user, you may have noticed that your system’s memory usage can fluctuate over time. Knowing how to check memory usage in Linux can help you identify potential problems and take corrective action. In this article, we’ll discuss five simple commands that you can use to check memory usage in Linux. We’ll also provide some tips on how to interpret the results and take action if necessary.

How to Check Memory Usage in Linux, 5 Simple Commands

1. free: The free command is the most basic and simple command to check memory usage on Linux. It displays the total amount of free and used physical and swap memory in the system, as well as the buffers and caches used by the kernel.

2. top: The top command provides a dynamic real-time view of a running system. It can display system summary information as well as a list of tasks currently being managed by the Linux kernel. It also provides an interactive interface for manipulating processes.

3. vmstat: The vmstat command reports information about processes, memory, paging, block IO, traps, and CPU activity. It can be used to report the total amount of physical memory, as well as the amount of free and used memory.

4. htop: The htop command is an interactive process viewer for Linux. It provides a more user-friendly and colorful output than the top command. It also allows users to interactively manage processes, sort processes by memory usage, and more.

5. sar: The sar command is used to collect, report, and save system activity information. It can be used to monitor memory usage over time. It can also be used to generate reports on memory usage for a specified period of time.

Introduction

It is essential that your Linux system runs at an optimal level. A few simple terminal commands provide access to all relevant information and help you monitor memory statistics.

In this tutorial, learn five powerful commands to check memory usage in Linux.

We also provide detailed explanations of what they do and more importantly, how to interpret the results. The commands will work with nearly all Linux distributions. In this instance, the commands and the results are presented using Ubuntu 18.04.

tutorial on how to check memory usage on linux

Prerequisites

  • Access to a command line / terminal
  • User with sudo privileges
  • The apt package manager

Commands to Check Memory Use in Linux

cat Command to Show Linux Memory Information

Entering cat /proc/meminfo in your terminal opens the /proc/meminfo file.

This is a virtual file that reports the amount of available and used memory. It contains real-time information about the system’s memory usage as well as the buffers and shared memory used by the kernel. The output might differ slightly based on the architecture and operating system in question.

This is an example of what the /proc/meminfo file looks like in Ubuntu 18.04:

cat-proc-meminf-linux-memory

The terminal displays the information in kilobytes.

free Command to Display the Amount of Physical and Swap Memory

Typing free in your command terminal provides the following result:

linux-free-command

The data represents the used/available memory and the swap memory figures in kilobytes.

total Total installed memory
used Memory currently in use by running processes (used= total – free – buff/cache)
free Unused memory (free= total – used – buff/cache)
shared Memory shared by multiple processes
buffers Memory reserved by the OS to allocate as buffers when process need them
cached Recently used files stored in RAM
buff/cache Buffers + Cache
available Estimation of how much memory is available for starting new applications, without swapping.

Compared to the /proc/meminfo file, the free command provides less information. However, it is easier to understand. The key figure being the available value as it displays how much memory is still available for running new applications.

The free command has multiple options to format the output so that it better matches your requirements. The table below lists the most useful variations of the free command.

Options Result
-b output in bytes
-k output in kibibytes
-m output in mebibytes
-g output in gibibytes
-l detailed low and high memory statistics
-o old format (no -/+buffers/cache line)
-t total for RAM + swap
-s update every [delay] seconds
-c update [count] times

Note: As with most commands, entering man free displays an overview of all variations and descriptions of the results.

vmstat Command to Report Virtual Memory Statistics

The vmstat command is a useful tool that reports virtual memory statistics.

vmstat provides general information about processes, memory, paging, block IO, traps, and CPU activity.

linux-vmstat-memory-check-command

The detailed description listed below provides an explanation for each value in case you need assistance in analyzing the results.

  • Procs
    • r: number of processes waiting for run time.
    • b: number of processes in uninterruptible sleep.
  • Memory
    • swpd: amount of virtual memory used.
    • free: amount of idle memory.
    • buff: the amount of memory used as buffers.
    • cache: amount of memory used as cache.
  • Swap
    • si: memory swapped in from disk (/s).
    • so: memory swapped to disk (/s).
  • IO
    • bi: Blocks received from a block device (blocks/s).
    • bo: Blocks sent to a block device (blocks/s).
  • System
    • in: number of interrupts per second, including the clock.
    • cs: number of context switches per second.
  • CPU – These are percentages of total CPU time.
    • us: Time spent running non-kernel code. (user time, including nice time)
    • sy: Time spent running kernel code. (system time)
    • id: Time spent idle. Before Linux 2.5.41, this includes IO-wait time.
    • wa: Time spent waiting for IO. Before Linux 2.5.41, included in idle.
    • st: Time stolen from a virtual machine. Before Linux 2.6.11, unknown.

top Command to Check Memory Use

The top command is useful to check memory and CPU usage per process. It displays information about:

  • uptime
  • average load
  • tasks running
  • number of users logged in
  • number of CPUs/CPU utilization
  • memory/swap system processes

The data is continuously updated, which allows you to follow the processes in real-time.

top-command-linux-memory

Aside from providing you with essential memory information, the top command provides a limited interactive interface. It is possible to manipulate and configure operations by using command-line options.

The man command in Linux man top provides a comprehensive list of all available variations.

htop Command to Find Memory Load of Each Process

The information the htop command provides is similar to the top command. However, the real advantage to the htop command is its user-friendly environment and improved controls.

The command uses color for its output, provides full command lines for processes, as well as the option to scroll both vertically and horizontally.

htop

The following output appears:

htop-linux-command-memory
  1. The top segment provides summary information and contains graphic meters and text counters.
  2. The lower section structures the detailed data, per process. This allows you to perform actions on individual processes with ease.
  3. The shortcuts listed at the bottom of the screen will enable you to manipulate and customize the processes quickly and without the need to type specific commands.

Note: If you run into “Command ‘htop’ not found” message when trying to run the htop command, you will need to install the htop function first:

sudo snap install htop

As an alternative, use the command below:

sudo apt install htop

Checking Memory Usage in Linux using the GUI

Using a graphical interface for server administration is not common practice. However, certain data sets are much clearer, with a visual representation of memory usage.

To access the System Monitor:

  1. Navigate to Show Applications.
  2. Enter System Monitor in the search bar and access the application.
  3. Select the Resources tab.
  4. A graphical overview of your memory consumption in real time, including historical information is displayed.
gui-gnome-memory-system-monitor

Conclusion

This guide provided several options to check memory usage on your Linux system. We learned that a single command provides an abundance of valuable data for future analysis. Learning to interpret the information correctly is critical.

Now you can administer your server more efficiently.

How to Check Memory Usage in Linux: 5 Simple Commands

If you’re a Linux user, you’ve probably noticed that your system’s memory usage can fluctuate quite a bit. Knowing how to check memory usage in Linux can help you identify potential problems and take corrective action. Here are five simple commands you can use to check memory usage in Linux.

1. Free

The free command is one of the most basic and useful commands for checking memory usage in Linux. It displays the total amount of free and used physical and swap memory in the system, as well as the shared memory and buffers used by the kernel. To use the free command, simply type free into the terminal and press enter.

2. Top

The top command is another useful tool for checking memory usage in Linux. It displays a list of processes currently running on the system, along with their memory usage. To use the top command, type top into the terminal and press enter. You can then use the arrow keys to scroll through the list of processes and view their memory usage.

3. Ps

The ps command is a useful tool for checking memory usage in Linux. It displays a list of processes currently running on the system, along with their memory usage. To use the ps command, type ps -aux into the terminal and press enter. You can then use the arrow keys to scroll through the list of processes and view their memory usage.

4. Vmstat

The vmstat command is a useful tool for checking memory usage in Linux. It displays a summary of system memory usage, including the total amount of free and used physical and swap memory, as well as the shared memory and buffers used by the kernel. To use the vmstat command, type vmstat into the terminal and press enter.

5. Htop

The htop command is a powerful tool for checking memory usage in Linux. It displays a list of processes currently running on the system, along with their memory usage. To use the htop command, type htop into the terminal and press enter. You can then use the arrow keys to scroll through the list of processes and view their memory usage.

By using these five simple commands, you can easily check memory usage in Linux. Knowing how to check memory usage in Linux can help you identify potential problems and take corrective action.

Jaspreet Singh Ghuman

Jaspreet Singh Ghuman

Jassweb.com/

Passionate Professional Blogger, Freelancer, WordPress Enthusiast, Digital Marketer, Web Developer, Server Operator, Networking Expert. Empowering online presence with diverse skills.

jassweb logo

Jassweb always keeps its services up-to-date with the latest trends in the market, providing its customers all over the world with high-end and easily extensible internet, intranet, and extranet products.

Contact
San Vito Al Tagliamento 33078
Pordenone Italy
Item added to cart.
0 items - 0.00
Open chat
Scan the code
Hello 👋
Can we help you?