Your Windows PC uses RAM constantly. But do you know what is actually sitting in that memory right now? RAMMap.exe tells you exactly that.
RAMMap is a free tool from Microsoft’s Sysinternals suite. It shows you a detailed breakdown of how Windows is using physical memory. It is not a task manager replacement. It goes much deeper than that.
If your PC feels slow, if apps are lagging, if you keep running out of memory, RAMMap can help you figure out why and fix it.
This guide walks you through everything: downloading it, reading the data, using the most useful features, and knowing when to actually act on what you see.

How to Download and Open RAMMap.exe
Step 1: Download RAMMap
Go to the official Microsoft Sysinternals page and download RAMMap directly: https://learn.microsoft.com/en-us/sysinternals/downloads/rammap
There is no installer. You get a ZIP file. Extract it anywhere you like, such as your Desktop or C:\Tools.
Step 2: Run as Administrator
Right-click RAMMap.exe and choose “Run as administrator.” This is important. Without admin rights, RAMMap cannot read all memory regions and some data will be missing or incorrect.
Step 3: It Opens Immediately
No setup. No configuration. RAMMap opens and starts collecting data right away. You will see a tabbed window with memory data broken into categories.
Understanding the RAMMap Interface
RAMMap has several tabs across the top. Each one gives you a different view of memory. Here is what each tab means in plain language.
Use Counts Tab
This is the first tab and the most important one to start with. It shows a summary of how RAM is being used across different categories.
| Column | What It Means |
|---|---|
| Use | The type of memory usage |
| Total | Total bytes used in that category |
| Active | Pages currently being actively used |
| Standby | Pages not actively used but still in memory |
| Modified | Pages that have been changed but not written to disk |
| Mapped File | Memory mapped file data |
| Shareable | Pages that can be shared between processes |
| Locked | Pages that cannot be paged out |
The key categories you will see listed under “Use” include:
- Process Private: Memory used exclusively by running processes
- Mapped File: Files mapped into memory (includes DLLs and executables)
- Standby: Data that was used recently but is sitting idle. Windows keeps this around in case it is needed again.
- Free: Completely unallocated memory
- Modified: Data that needs to be written to the paging file or disk before it can be reused
- Driver Locked: Memory locked by kernel drivers that cannot be paged out
- System Working Set: Memory used by the Windows kernel itself
- Page Table: Memory used to track other memory (metadata about RAM usage)
- Nonpaged Pool: Kernel memory that can never be paged to disk
- Paged Pool: Kernel memory that can be paged to disk
Processes Tab
This tab shows per-process memory usage. You can see which apps are consuming the most private memory. It gives you a clearer picture than Task Manager because it separates shareable memory from truly private allocations.
Click any column header to sort. Sorting by “Private” is usually most useful because it shows you which processes are holding memory that cannot be shared with anything else.
Priority Summary Tab
This tab breaks down memory pages by their priority level from 0 to 7. Higher priority pages stay in memory longer. Pages with lower priority get pushed out first when memory gets tight.
This is more useful for advanced diagnostics. If you see a lot of pages sitting at priority 1 or 2, they are likely to be evicted soon.
Physical Pages Tab
This shows you individual physical memory pages and what type of content is in each one. The view is color-coded by page type. It gives a visual map of your entire RAM.
You probably will not need this view for day-to-day use, but it is extremely useful for debugging memory fragmentation.
Physical Ranges Tab
This shows the physical address ranges of your RAM. Useful for understanding if hardware has reserved blocks of memory, which sometimes happens with old drivers or certain graphics setups.
File Summary Tab
This shows which files are currently mapped into memory. DLLs, executables, and data files all appear here. If you want to know what exactly is sitting in your mapped file category, this tab breaks it down by file path.
You can sort by “Total” to see which files are taking up the most space in memory.
File Details Tab
This is the deep-dive version of File Summary. It shows every individual memory range associated with each mapped file. More detail than most people need, but useful when debugging a specific app or driver.
How to Read the Use Counts Tab Like a Pro
When you first open RAMMap, spend most of your time on the Use Counts tab. Here is how to interpret what you see.
High Standby Memory Is Normal
Many people panic when they see Standby memory is high. Do not. Standby memory is memory that was used, is no longer actively needed, but Windows kept it around just in case. If another application needs RAM, Windows will immediately reclaim it.
Windows is designed to use as much RAM as possible. An idle Windows machine with 16 GB of RAM might show 10 GB in use. That is intentional and correct behavior.
Modified Memory Is a Warning Sign
A large Modified number is worth watching. Modified pages contain data that has been changed but not yet written out to disk or the paging file. Until that write happens, that memory cannot be freed.
If Modified is consistently high (several GB), it could mean your storage I/O is becoming a bottleneck. Windows cannot write modified pages fast enough.
Nonpaged Pool Growing Over Time
Nonpaged Pool memory is used by the Windows kernel and drivers. It can never be swapped to disk. If you notice this value growing over days or weeks without any obvious increase in workload, you may have a kernel memory leak. This is usually caused by a buggy or outdated driver.
A healthy Nonpaged Pool value on a typical desktop is usually under 1 GB. If it is climbing past that with nothing obvious running, investigate your drivers.
Process Private vs. Mapped File
If most of your memory is in Process Private, your applications are the primary consumers. Check the Processes tab to identify which ones.
If most is in Mapped File, you likely have a lot of DLLs and executables loaded into memory. This is common on machines running many background services or browsers with lots of extensions.
How to Use RAMMap’s Empty Memory Feature
This is the most practical feature in RAMMap for everyday use.
Go to the top menu and click Empty. You will see several options:
| Option | What It Does |
|---|---|
| Empty Working Sets | Trims the working set of all running processes |
| Empty System Working Set | Trims the kernel’s working set |
| Empty Modified Page List | Forces modified pages to be written out immediately |
| Empty Standby List | Clears all standby pages, freeing RAM |
| Empty Priority 0 Standby List | Clears only the lowest priority standby pages |
When to Use “Empty Standby List”
If you need to free up RAM quickly for a memory-intensive task like a VM, a render, or a large data import, clearing the Standby list can make a significant chunk of RAM available immediately.
Click Empty > Empty Standby List. You will see the Standby number drop in the Use Counts tab. Windows may run slightly slower for a few seconds while it rebuilds its cache, but the RAM is now free.
Do not do this constantly or on a schedule. Windows manages Standby memory well on its own. This action is for specific moments when you need RAM now.
When to Use “Empty Modified Page List”
If your Modified value is unusually high and you want to force Windows to write those pages to disk right now, use Empty Modified Page List. This flushes the data out and reduces the Modified count.
This can sometimes resolve brief hangs or sluggishness caused by pending write operations building up.
How to Use RAMMap from the Command Line
RAMMap supports a few command-line options useful for automation or scripting.
Open Command Prompt as administrator and navigate to your RAMMap folder.
To refresh the display automatically on a schedule you can script a call to run it with the empty flag:
RAMMap.exe -E
The -E switch runs RAMMap and immediately empties the Standby list, then exits. This is useful for scripts that run before a memory-hungry process starts.
For advanced diagnostics, you can also save a snapshot of the current memory state using File > Save. This creates a .rmp file you can open later or share with someone helping you troubleshoot.
Common Scenarios and What to Do
Scenario 1: PC Is Slow but Task Manager Shows RAM Is Available
Open RAMMap and check the Modified column. If it is high, run Empty > Empty Modified Page List. Also check Nonpaged Pool. If it is unusually large, a driver may be leaking memory.
Scenario 2: RAM Fills Up After Running a Specific App
Use the Processes tab before and after running the app. Note the Private column values. If the app is leaking private memory, you will see its value keep growing without returning to baseline after it closes.
If memory does not drop after closing the app, check if any of its background processes are still running.
Scenario 3: You Want to Benchmark Memory Before and After a Change
Use File > Save before making a change (installing a driver, update, new app). Make the change. Refresh RAMMap with F5. Compare the values. This is a clean way to measure memory impact.
Scenario 4: Server Is Running Out of RAM Gradually
On Windows Server environments, Nonpaged Pool growth over days is a classic sign of a driver or kernel component leaking. RAMMap is one of the first tools to use here. Sort the Processes tab and watch Nonpaged Pool values over time using saved snapshots.
RAMMap vs Task Manager vs Resource Monitor
Many people wonder which tool to use. Here is a quick comparison:
| Feature | Task Manager | Resource Monitor | RAMMap |
|---|---|---|---|
| Per-process memory | Basic | Detailed | Very detailed |
| Standby/Modified breakdown | No | Partial | Yes, full |
| Nonpaged Pool visibility | No | No | Yes |
| Mapped file list | No | No | Yes |
| Empty memory functions | No | No | Yes |
| Ease of use | Very easy | Moderate | Moderate |
| Best for | Quick overview | Per-process detail | Deep memory analysis |
Use Task Manager for a quick check. Use Resource Monitor when you need to trace a specific process. Use RAMMap when you are diagnosing a real memory problem.
For a broader understanding of Windows memory architecture, the Microsoft documentation on memory management is worth reading: https://learn.microsoft.com/en-us/windows/win32/memory/memory-management
Tips for Getting the Most Out of RAMMap
- Always run it as administrator or the data will be incomplete
- Press F5 to refresh the data manually. RAMMap does not auto-refresh by default
- Use File > Save to capture snapshots for comparison
- Do not be alarmed by high Standby numbers. That is healthy Windows behavior
- Focus on Modified, Nonpaged Pool, and Process Private when diagnosing problems
- Use the Empty functions sparingly, not as a routine “memory cleaner” habit
- The Physical Pages tab is color-coded. Blue pages are active, gray are standby, and yellow are modified
Conclusion
RAMMap.exe is one of the most useful free tools Microsoft has ever published. It shows you exactly what is inside your RAM, broken down in ways that no other built-in Windows tool can match.
The most important things to take away from this guide:
- Standby memory being high is normal and healthy
- Modified memory being high is worth investigating
- Nonpaged Pool growing slowly over time often points to a driver memory leak
- The Empty Standby List option gives you quick RAM relief when you genuinely need it
- Always run RAMMap as administrator
- Save snapshots to compare before and after changes
If your Windows PC is behaving strangely with memory, RAMMap gives you the data to stop guessing and start diagnosing.
Frequently Asked Questions
Is RAMMap safe to use on Windows 11 in 2026?
Yes. RAMMap is a Microsoft Sysinternals tool. It is read-only by default and simply reads memory data. The Empty functions do make changes to memory state, but they do not delete data or cause damage. It is fully safe on Windows 10, Windows 11, and Windows Server editions.
Does emptying standby memory speed up my PC?
Temporarily, in specific situations. If you need RAM for a heavy workload, clearing Standby gives you free memory right away. But Windows manages Standby on its own and clears it automatically when needed. Doing this constantly as a “maintenance” habit is unnecessary and can actually cause brief slowdowns as the cache rebuilds.
Why does RAMMap show less free RAM than Task Manager?
Task Manager includes Standby memory in its “Available” count. RAMMap separates Free and Standby into different rows. Both are available for new allocations, but RAMMap gives you a more precise breakdown. If you add Free and Standby together in RAMMap, it should roughly match what Task Manager calls Available.
What is a healthy Nonpaged Pool size?
On a typical desktop running standard applications, Nonpaged Pool should be between 200 MB and 800 MB. On servers it can be higher depending on workload. If it is growing past 1-2 GB with a normal workload, or if it keeps growing without leveling off, investigate your drivers. Tools like PoolMon.exe (also from Sysinternals) can help identify which driver is responsible.
Can I automate RAMMap to run on a schedule?
Yes. RAMMap supports the -E command-line switch which immediately empties the Standby list and exits. You can set this up in Windows Task Scheduler to run before memory-intensive tasks. Use Task Scheduler to create a basic task, point the action to RAMMap.exe, and add -E as the argument. Make sure the task is set to run with highest privileges.
