VSZ Calculator
Calculate a process's Virtual Size including mapped, reserved and unused address space.
About VSZ Calculator
VSZ (Virtual Size) is the total virtual address space a process has mapped, regardless of whether pages are resident in RAM, swapped out, or never yet accessed. It includes code, heap, stacks, shared libraries, memory-mapped files, and reserved-but-unused regions. A large VSZ does not mean the process is consuming that much physical memory — only the RSS portion is resident.
Formula
Virtual size
VSZ = code + heap + stack + shared_libs + mmap_files + reserved
- C
- code segment
- H
- heap
- S
- stack(s)
- L
- shared libraries
- F
- mmap'd files
- R
- reserved mappings
Worked example
With the default values below, VSZ Calculator returns Virtual Size (VSZ) of 2,074.00. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Code Segment (text)minimum 0 MB
- 50 MB
- Heap (brk/mmap)minimum 0 MB
- 512 MB
- Stack(s)minimum 0 MB
- 32 MB
- Shared Librariesminimum 0 MB
- 200 MB
- Memory-Mapped Filesminimum 0 MB
- 1,024 MB
- Reserved/Unused Mappingsminimum 0 MB
- 256 MB
Results
- Virtual Size (VSZ)
- 2,074.00 MB
- Virtual Size (VSZ)
- 2.025 GB
- Heap % of VSZ
- 24.7%
- mmap % of VSZ
- 49.4%
Step by step
- 1Code segment= 50 MB
- 2Heap= 512 MB
- 3Stack(s)= 32 MB
- 4Shared libraries= 200 MB
- 5Memory-mapped files= 1024 MB
- 6Reserved/unused= 256 MB
- 7Total VSZ= 2074 MB (2.025 GB)
Assumptions and limits
- The result is derived only from the 6 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 3 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 does a Java process show a huge VSZ?
The JVM reserves its maximum heap size (-Xmx) upfront in the virtual address space even if only a fraction is actually used. This inflates VSZ but does not consume physical RAM until pages are actually touched.
Should I worry about large VSZ values?
Usually not. On 64-bit systems the virtual address space is vast (128TB+). VSZ only becomes a concern if it approaches the per-process RLIMIT_AS limit or if you're running on a 32-bit system with limited address space.
