Signup/Sign In

5 Ways to Check Linux Process Memory Usage

When running programs on a Linux system, it's critical to understand how the operating system manages memory usage. Each process, or program, that runs on a Linux system is given a certain amount of memory to use. This memory is divided into several categories, including program code, data, and stack space.

Understanding how a process uses its allocated memory can aid in identifying and troubleshooting memory-related issues, such as memory leaks or excessive memory usage, which can cause a system to slow down or crash. Process memory usage must be tracked in order to determine server load. By parsing usage data, the servers can balance the load without slowing down the system while still serving the user's request.

This topic will go over how to view and analyze the memory usage of processes on a Linux system, as well as tools and commands for monitoring and diagnosing memory usage issues.

5 Commands for Monitoring Process Memory Usage on Linux

1. Free

This command displays the amount of swapped and physical memory that is currently available and being used by the system. This information is gathered by the free command using parsing/proc/meminfo. The amount of memory is displayed in kilobytes by default.


If we want to execute the program periodically, then we can use the watch command.



Watch -n 7 free -m  


2. Vmstat

If we want to see the system's virtual memory statistics, we can use the vmstat command. This command displays information about memory, disc, paging, CPU activity, and so on. When we use this command for the first time, it returns data averages since the last reboot. The following use returns the data based on the sampling periods of the long delay.


vmstat -d // Reports disk statistics  

vmstat -d

3. Top

The top command displays all of the processes that are currently active on the system. The top command displays a list of threads and processes that the kernel is currently managing. This command can also be used to monitor the total amount of memory usage.


Top -H Threads-mode operation  

This will display every thread that exists in the system. If we do not use this command option, the sum of each thread in each process is displayed.

Top -H

4. /proc/meminfo

This file contains all information about memory usage. It displays current memotopsage details rather than previously saved values.


5. htop

It is a process viewer that is interactive. The Htop command is identical to the top command, except that we can scroll horizontally and vertically to allow users to view each process running on the system, with their full command line, and view them as a tree of processes, selecting processes and acting on them all at once.



Understanding and managing Linux process memory usage is crucial for maintaining the performance and stability of a system. By using tools such as top, ps, and vmstat, administrators can identify and address potential issues related to memory usage.

Additionally, implementing techniques such as limiting the number of running processes, using lightweight alternatives, and fine-tuning system settings can help optimize memory usage and prevent potential crashes or slowdowns. Overall, with the right knowledge and tools, managing Linux process memory usage can help ensure smooth and efficient system operations.

About the author:
Pradeep has expertise in Linux, Go, Nginx, Apache, CyberSecurity, AppSec and various other technical areas. He has contributed to numerous publications and websites, providing his readers with insightful and informative content.