Network Management

After upgrading to SolarWinds Platform 2024.4, the JobEngineSvc2.exe is generating high memory utilization in the poller server

A known issue in 2024.4 affects the polling engine (Main Polling Engine or Additional Polling Engine) where the JobEngineSvc2.exe process generates high memory utilization.

First published date

11/22/2024 8:58 AM

Last published date

2/24/2025 5:49 PM

Overview

After upgrading to SolarWinds Platform 2024.4, the JobEngineSvc2.exe process running on the poller engine (Main Poller or Additional Poller), gets high memory utilization.

It usually affects pollers that are monitoring many WMI nodes.

 

 

 

 

 

Product section

Orion Platform

Cause

In SolarWinds Platform 2024.4, the Job engine executes jobs in Worker processes, which adds extra communication overhead.

By default in process workers are enabled for:

  • SolarWinds.Orion.Core.Collector.plugin
  • SolarWinds.Interfaces.Collector.plugin

There is some limitation in accessing critical sections when opening/closing lots of WMI connections, which results in a bottleneck, and jobs time out after 5 minutes.

Resolution

This issue has been addressed in SolarWinds Platform 2025.1. Please consider upgrading your environment. If you are unable to upgrade, use the workaround below.

 

Global

In the Job Engine config file located at C:\Program Files\SolarWinds\Orion\SWJobEngineSvc2.exe.config by default, add the global flag to disable In Process workers

inProcessWorkersEnabled="false"

E.g:

<jobEngineSettings_Full
                   maxWorkerProcess="20"
                   maxJobThreadsPerWorkerProcess="100"
                   maxJobThreadsPerWorkerProcess64="500"
                   jobExecutionRetention="01:00:00"
                   jobExecutionEnabled="false"
                   thresholdStreamByteThreshold="131072"
                   maxWorkerProcessLogFileAge="5.00:00:00"
                   maxHungJobs="1"
                   jobHungTimeout="00:00:30"
                   workerMonitoringPeriod="00:00:01.0000000"
                   jobErrorSuppressionInterval="01:00:00"
                   jobErrorSuppressionCleanupInterval="00:05:00"
                   enableSqliteSelfRepairLogic="true"
                   inProcessWorkersEnabled="false">
</jobEngineSettings_Full>

 

Per plugin

E.g.: To disable InProcessWorker for SolarWinds.Orion.Core.Collector

Remove <supportInProcessWorker>true</supportInProcessWorker> or adjust the value to false in C:\Program Files\SolarWinds\Orion\JobEnginePlugins\SolarWinds.Orion.Core.Collector.plugin file. 

<?xml version="1.0" encoding="utf-8"?>
<plugin>
    <name>SolarWinds.Orion.Core.Collector</name>
    <assemblyName>SolarWinds.Orion.Core.Collector</assemblyName>
    <rootPath>..</rootPath>
    <supportInProcessWorker>false</supportInProcessWorker>
</plugin>