Process Memory Calculator
Calculate total memory footprint of a process from RSS, shared and private memory.
About Process Memory Calculator
RSS (Resident Set Size) reports the total physical memory a process currently has mapped, but this figure double-counts memory shared with other processes — most commonly pages from shared libraries like libc that every process on the system maps into its own address space. Subtracting that shared portion from RSS yields the private memory truly unique to this process, which is the more meaningful figure when estimating how much memory would actually be freed if the process exited, or how much total RAM a fleet of similar processes really consumes. VSZ (Virtual Size), by contrast, includes all mapped address space whether or not it is backed by physical RAM, and is typically much larger than RSS.
Formulas
RSS in megabytes
RSS_MB = rss_pages × page_size_KB / 1024
- p
- resident pages
- s
- page size in KB
Private memory
private = RSS − shared_libraries
- R
- RSS in MB
- S
- shared library memory in MB
Worked example
With the default values below, Process Memory Calculator returns RSS (Total Resident Memory) of 256.00. Change any input above and every figure here is recalculated in your browser.
Inputs used
- RSS (Resident Pages)minimum 0
- 65,536
- Page Sizeminimum 1 KB
- 4 KB
- Shared Library Memoryminimum 0 MB
- 32 MB
- VSZ (Virtual Size Pages)minimum 0
- 262,144
Results
- RSS (Total Resident Memory)
- 256.00 MB
- Private Memory (unique to this process)
- 224.00 MB
- VSZ (Virtual Size)
- 1,024.00 MB
- Shared Memory
- 32.00 MB
- Percentage Shared
- 12.50%
Step by step
- 1Values used
- 2RSS in megabytes
- 3Private memory
- 4RSS (Total Resident Memory)= 256.00 MB
- 5Private Memory (unique to this process)= 224.00 MB
- 6VSZ (Virtual Size)= 1,024.00 MB
- 7Shared Memory= 32.00 MB
- 8Percentage Shared= 12.50
Assumptions and limits
- The result is derived only from the 4 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
- Figures are rounded for display to 2 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
Frequently Asked Questions
Why is RSS misleading when summing memory across many processes?
If ten processes each map the same 10MB shared library, summing their individual RSS values counts that 10MB ten times over, dramatically overstating actual physical memory consumption. PSS (Proportional Set Size) or the private memory figure this calculator produces avoid that double-counting.
Why is VSZ often much larger than RSS?
VSZ counts all virtual address space a process has reserved, including memory-mapped files, reserved-but-unused heap, and address space for libraries that may never be fully touched — none of which necessarily occupies physical RAM, so VSZ can be many times larger than the process's actual resident footprint.
What is the default page size on Linux?
Most x86_64 Linux systems use a 4KB base page size, though systems using HugePages for specific workloads may have some memory backed by much larger 2MB or 1GB pages — check getconf PAGE_SIZE to confirm the base page size on a given system.
