Linux provides a variety of utilities for investigating how much memory is consumed by running processes. Familiar commands such as ps, top and free give useful information, but understanding an application’s actual memory footprint can require more detailed analysis.
Measuring process memory is not as straightforward as it first appears. A process may share libraries and other memory pages with several programs, so simply adding together resident memory figures can produce misleading totals. Proportional Set Size (PSS) accounts for shared pages, while Unique Set Size (USS) identifies memory that belongs exclusively to a process. These measurements are particularly useful when comparing applications or investigating unexpectedly high RAM consumption.
Other tools approach memory analysis from a different perspective. Some record memory consumption over time, helping identify gradual increases or sudden spikes. Memory profilers can go further by tracing allocations to particular functions, making it easier to investigate memory leaks, excessive allocations and inefficient resource use.
This roundup examines utilities for measuring, recording and visualising process memory usage on Linux. The selection ranges from lightweight command-line tools to specialised profilers with graphical reports.
Here’s our verdict captured in a legendary LinuxLinks-style ratings chart. Only free and open source software is eligible for inclusion.

Let’s explore the process memory tools at hand. For each title we have compiled its own portal page, providing a description of the software, an analysis of its features, and links to relevant resources.
| Process Memory Tools | |
|---|---|
| ps_mem | Accurately reports memory usage of programs |
| pscircle | Visualizes Linux processes in a form of radial tree |
| psrecord | Record the CPU and memory activity of a process |
| smem2 | Reports on memory usage on Linux systems |
| process-mem | Display memory used by processes |
| process-map | Visualize the virtual memory of a process |
| Smemstat | Reports the physical memory usage |
| mstat | Measure memory usage of a program over time |
| alram | Helps when available memory is below threshold, with optional task killer |
This article has been updated to reflect the changes outlined in our recent announcement.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.
ps_mem is very useful. Thanks
Shame that it isn’t maintained.