This topic describes a step-by-step process for troubleshooting high memory usage on Windows servers that may be caused by applications, system services, or incorrect configurations.
Problem description
Your Windows server may be experiencing a memory resource bottleneck if you observe any of the following symptoms:
Business applications running on the Windows server respond slowly, experience service interruptions, or cause system stuttering.
The memory usage monitoring for the instance in the Simple Application Server console indicates that memory usage is too high.
You receive an alert that memory usage has exceeded the specified threshold.
Troubleshooting process
Assess status: Use Task Manager to obtain an overview of memory usage and determine if there is significant memory pressure.
Analyze processes: Use Resource Monitor for a detailed analysis. Identify the processes that consume the most memory by sorting them by physical memory usage.
Resolve the issue: Implement the appropriate solution based on your analysis.
Track continuously: After you implement the solution, configure continuous monitoring and alerting for the server.
Procedure
The following steps use Windows Server 2025 Datacenter Edition as an example. The user interface may vary across different versions.
Step 1: Assess the overall memory status
Right-click the taskbar and select Task Manager.
Switch to the Performance tab and select Memory.
Analyze the key metrics:
Available: The amount of physical memory that the system can immediately allocate to applications.
Committed: The total amount of virtual memory that the operating system has committed to all processes. This value is shown as
X/Y.Xis the currently used virtual memory.Yis the virtual memory limit (physical memory + paging file size). IfXconsistently approachesY, the system may be frequently using the paging file, which can degrade performance.
Step 2: Identify processes with high memory consumption
First, use Resource Monitor to identify processes. If you do not find any abnormal application processes in Resource Monitor, use the RAMMap tool to analyze system-level memory usage.
Resource Monitor
In the search box on the taskbar, enter Resource Monitor and open it.
Switch to the Memory tab.
Click the Working Set (KB) column to sort in descending order. This places the processes that use the most physical memory at the top.
Analyze the processes at the top of the list. Focus on the Working Set metric. This metric represents the physical memory that a process is actually using and is the primary indicator of a process's memory consumption. Identify the process with the highest working set and determine if it is an expected business process.
Working Set (KB): The amount of physical memory the process is currently using.
Commit (KB): The size of the virtual address space that the operating system has reserved for the process. A process might commit a large amount of memory but not actually use it. This metric can be misleading.

RAMMap tool
If Resource Monitor shows no abnormal processes but available memory remains low, consider system-level memory usage, such as file cache or driver leaks. In this case, use the official Microsoft tool RAMMap for an in-depth analysis.
Download and run RAMMap.
Go to the official RAMMap download page to download and unzip the tool package.
Double-click
RAMMap.exeto run the program.
The following list describes what each tab displays.

Use Counts: A summary of usage by type and paging list.
Processes: The working set size of processes.
Priority Summary: The sizes of standby lists, categorized by priority.
Physical Pages: The per-page usage for all physical memory.
Physical Ranges: Physical memory addresses.
File Summary: File data in RAM, displayed by file.
File Details: Individual physical pages, displayed by file.
Step 3: Handle and optimize based on different scenarios
Choose the appropriate solution based on the source of high memory usage that you identified.
Scenario 1: An abnormal process consumes a large amount of memory
If you find that a non-business or abnormal process is consuming a large amount of memory, you must stop the process.
In Task Manager or Resource Monitor, find the process that is using a large amount of memory. Right-click the process and select End Task. If you suspect the process is malicious, you can use the virus scan feature of Security Center.
The virus scan feature of Security Center is a paid service.
Before you end a process, make sure you understand what it does to avoid causing a service interruption.
Scenario 2: A normal business process causes a memory bottleneck
If a normal business process causes a memory bottleneck, upgrade the instance type. In the console, perform an upgrade and select a plan with more memory.
If you find that a single business process is using a large amount of memory, you can also optimize the business process in addition to upgrading the instance type.
Step 4: Track continuously
Set alerts: Set alert rules for the server's memory usage or available memory metrics. For more information, see Cloud service monitoring.
Monitor continuously: Check the server's system metrics on the CloudMonitor page.
If monitoring shows that a business process has occasional, short, and infrequent memory spikes, you can mitigate this issue by setting up a swap partition (swap space). For more information, see How to configure virtual memory for a Windows instance. To completely resolve the issue, evaluate whether to upgrade the instance type.
References
You can use Microsoft's Process Explorer to obtain more detailed information about process memory usage.
Use the official Microsoft tool Poolmon to track and locate the source of kernel memory pool consumption by Pool Tag.