Network Management
IIS is using more than 1.0 GB of memory in the w3wp.exe process (SolarWinds Platform)
This article addresses the scenario where Microsoft Internet Information Services (IIS) is observed to use more than 1.0 GB of memory in the w3wp.exe (IIS worker process) when running SolarWinds Platform. High memory usage in w3wp.exe can lead to performance degradation, application pool recycling, or even service outages, especially in environments with many concurrent users or resource-intensive operations.
First published date
Last published date
Overview
The issue is typically observed in environments with high user concurrency, large numbers of open sessions, or resource-intensive customizations (such as custom reports or dashboards). When w3wp.exe exceeds 1.0 GB of memory, symptoms may include slow web console response, unresponsive application, or the need to manually recycle the application pool or restart IIS services.
Symptoms:
No specific error code is generated, but administrators observe in Task Manager or monitoring tools that w3wp.exe exceeds 1.0 GB of memory. The application pool may recycle automatically, causing user sessions to be lost.
Product section
Cause
High memory usage in w3wp.exe is generally due to:
- High number of concurrent users or sessions.
- Resource-intensive elements loaded in the web console (e.g., custom reports, dashboards, NOC screens).
- Multiple users sharing accounts or having multiple tabs open.
- Browser auto-refresh settings or sessions left open without auto-logout.
- Potential memory leaks in custom code or third-party modules.
Resolution
You can do the following recommended checks and configuration changes to address high w3wp.exe memory usage:
Review and Optimize IIS Application Pool Settings
Identify the IIS application pool used by the SolarWinds Platform website (for example, under Sites → SolarWinds Orion → Basic Settings → Application Pool).
Implement the following:
-
Shorten the regular time‑based recycle interval
If the pool is still using the default Regular Time Interval of 1,740 minutes (29 hours):
- Change the Regular Time Interval (minutes) from 1740 to 240 (4 hours).
- This reduces the maximum time window during which memory can grow, helping to keep w3wp.exe below problematic levels between recycles.
- Monitor performance and adjust the interval as needed for your environment (some sites may be comfortable with longer intervals; others may require shorter).
- Change the Regular Time Interval (minutes) from 1740 to 240 (4 hours).
-
Configure memory‑based recycling (optional, but recommended in constrained environments)
In the same application pool’s Recycling Conditions:
- Set a Private Memory Limit (KB) that is below the point where you observe problems (for example, slightly under 1 GB, in KB).
- Optionally set a Virtual Memory Limit (KB) as an additional safeguard.
This ensures the pool is recycled if w3wp.exe passes a defined threshold instead of continuing to grow unchecked.
-
Avoid extremely aggressive recycling (e.g., every few minutes), as it can cause frequent session loss and logins. Start with 240 minutes and refine based on observed stability and usage.
Scale Out Web Servers
- For environments with more than 20-50 concurrent users, deploy additional web servers to distribute the load. SolarWinds recommends an additional web server for every 50 concurrent users
Reduce Resource-Intensive Operations
- Minimize the use of custom reports, dashboards, or NOC screens that require heavy data processing or frequent refreshes.
- Remove or limit the number of report resources on main views, as these are known to cause memory growth in similar SolarWinds web applications .
Monitor and Analyze Memory Usage
- Use Windows Performance Monitor (Perfmon) to track Private Bytes, Virtual Bytes, and Working Set for w3wp.exe.
- If a memory leak is suspected, use tools like DebugDiag to collect and analyze memory dumps for root cause analysis.
General Best Practices
- Ensure the server has adequate RAM for the expected load (SolarWinds recommends at least 4 GB for up to 20 users, plus 1 GB for every additional 10 users)