Applications Systems
The APM Probe is causing high memory utilization on Windows Agents after upgrading to the SolarWinds Platform 2025.4
The APM.Probe from the Agent Plugin, is spawning SWJobEngineWorker2x64.exe process, which takes a huge amount of memory in 2025.4.
First published date
Last published date
Overview
After upgrading to 2025.4, some Windows agents began to experience high memory utilization.
Examining the top processes, it is possible to identify which process is consuming the highest memory utilization.
Expanding the Command line in the task manager, you can see the Agent Plugin SolarWinds.APM.Probe spawning SWJobEngineWorker2x64.exe, and it is causing high memory utilization on the Windows Agent server.
Product section
Cause
If the Agent node is polling AppInsight for IIS, that might be the issue.
AppInsight for IIS consists of two parts: the Main Job and the Additional Job. Historically, the Additional Job was separated from the main suite because it is memory-intensive and may lead to resource exhaustion.
The Main Job runs every 5 minutes and an Additional Job, one once a day. The second part is heavy and may poll a lot of data.
Main Job - Purpose: Handles general IIS data collection, including sites, pools, bindings, HTTP/HTTPS, performance counters, services, and event logs.
Polling Interval: Every 5 minutes.
Data Collected: Sites, Application Pools, Worker Processes, Web ApplicationsBindings (HTTP, HTTPS)Site Log Directories and Log ParsingSite LimitsPerformance Counters (WMI)IIS Services and ProcessesIIS Event Log Monitoring.
Additional Job - Purpose: Handles long-running polling probes that are not suitable for frequent collection. This job is optimized for operations that are more resource-intensive or less frequently changing.
Polling Interval: Every 24 hours (configurable).
Data Collected (that differs from Main Job):SSL Certificates: Collects SSL certificate information for each HTTPS binding.
Directory Info: Gathers information about virtual directories for each site.
Log File Size: Collects information about the size of log directories for each site.
Key Differences:
The additional job focuses on SSL certificate status, site directory info, and log directory info — these are not collected by the main job at the same frequency or depth.
It does not process or update the full set of site/binding data; instead, it extends the site data already collected by the main job.
The additional job does not update the overall Application status, only the Site status for the components it handles.
Sites and bindings are polled but not processed for changes; only the sites from the last main job (stored in the DB) are used.
The Additional Job verifies the number of files/folders in the IIS folder (it isn’t necessarily limited to C:\inetpub\wwwroot), as Appinsight for IIS is checking every directory where the customer stores their web data files.
If the IIS folder contains multiple folders (hundreds or thousands), the memory usage by APM Probe can increase by 50 times for each folder.
It is not possible to identify the issue in the Agent debug logs, you need to take the dump of the processes which is taking high memory to capture the issue.
If you run a WBEMTest query on the IIS node, you can see the size of the folders in the IIS inetpub\wwroot folder, and the second query checks how many files are in the folder.
select FileSize from CIM_DataFile where (Drive = 'C:' AND Path = '\\inetpub\\wwwroot\\')
select Name from CIM_Directory where (Drive = 'C:' AND Path = '\\inetpub\\wwwroot\\')
Resolution
This issue is addressed in SolarWinds Platform 2026.2. Consider upgrading your environment.
Workaround 1:
Increase the amount of RAM.
To collect this level of information, you will need to allocate sufficient memory. We cannot gather such a large amount of data without utilizing RAM—this is simply how the JobEngine is designed to operate (store data in-memory before sending to the poller)
Workaround 2:
Disable the Additional Job. This must be done on the polling engine side (not on the Agent side)
- Stop JE and Collector on the poller. Then locate the SolarWinds.APM.BlackBox.IIS.Collector.dll.config file. It is typically found at:
C:\Program Files\SolarWinds\Orion on the poller. - Open the file. At the top, you will find the appSettings section:
<appSettings>
</appSettings>
- Add the key AdditionalJobTimeoutMinutes with the value 0. The result should look like this:
<appSettings>
<add key="AdditionalJobTimeoutMinutes" value="0" />
</appSettings>
- Restart the services. The JobEngine will automatically reapply this setting to all IIS Applications.
Please note that if you perform an upgrade, you need to disable the job again on the polling engines. There is a Feature Request opened to provide the option to disable the job in the AdvancedConfiguration page of the Web Console.