Resolving high CPU on Windows VDB hosts after applying Windows Updates (KBA6024)
KBA
KBA# 6024Issue
After applying Windows updates or .NET updates for Windows Server 2016 or 2019, servers used to host Delphix VDBs may experience the following symptoms:
- CPU usage on the Windows target host may increase significantly, possibly reaching 100%
powershell
may take up to 10 seconds to launch from the command line
This issue has been observed after applying the following updates:
- Windows Server 2016, April 2020 Update (KB4550947) and later
- Windows Server 2019, April 2020 Update (KB4550969) and later
Some Windows updates may include bug and security fixes for Microsoft.NET. Applying these updates will cause optimized (compiled) versions of some .NET assemblies to become invalid once the server is restarted.
In order to monitor the health of VDBs, the Delphix Engine will invoke various scripts using PowerShell on a regular basis, once for each VDB, every 5 minutes.
Because PowerShell uses Microsoft.NET assemblies, the scripts issued as part of VDB monitoring may need to dynamically recompile these assemblies each time PowerShell is run. This can result in monitoring scripts that take up to 20 times longer than normal.
Depending on the number of VDBs, and the number of CPUs available on the Windows host, this can result in Delphix-initiated PowerShell commands consuming up to 100% of available CPU on a Windows Staging or Target host for extended periods of time.
- Click here to view the versions of the Delphix engine to which this article applies
-
Major Release All Sub Releases 6.0 6.0.0.0, 6.0.1.0, 6.0.1.1, 6.0.2.0, 6.0.2.1, 6.0.3.0, 6.0.3.1, 6.0.4.0, 6.0.4.1, 6.0.4.2, 6.0.5.0, 6.0.6.0, 6.0.6.1, 6.0.7.0, 6.0.8.0, 6.0.8.1, 6.0.9.0, 6.0.10.0, 6.0.10.1, 6.0.11.0, 6.0.12.0, 6.0.12.1 5.3
5.3.0.0, 5.3.0.1, 5.3.0.2, 5.3.0.3, 5.3.1.0, 5.3.1.1, 5.3.1.2, 5.3.2.0, 5.3.3.0, 5.3.3.1, 5.3.4.0, 5.3.5.0, 5.3.6.0, 5.3.7.0, 5.3.7.1, 5.3.8.0, 5.3.8.1, 5.3.9.0 5.2
5.2.2.0, 5.2.2.1, 5.2.3.0, 5.2.4.0, 5.2.5.0, 5.2.5.1, 5.2.6.0, 5.2.6.1
5.1
5.1.0.0, 5.1.1.0, 5.1.2.0, 5.1.3.0, 5.1.4.0, 5.1.5.0, 5.1.5.1, 5.1.6.0, 5.1.7.0, 5.1.8.0, 5.1.8.1, 5.1.9.0, 5.1.10.0
5.0
5.0.1.0, 5.0.1.1, 5.0.2.0, 5.0.2.1, 5.0.2.2, 5.0.2.3, 5.0.3.0, 5.0.3.1, 5.0.4.0, 5.0.4.1, 5.0.5.0, 5.0.5.1, 5.0.5.2, 5.0.5.3, 5.0.5.4
Resolution
In many cases, the .NET optimization service will trigger automatically, and the issue will self-resolve within a few hours of the Windows update being applied.
Occasionally, high CPU utilization or other system configuration prevents the .NET optimization service from running, including CPU usage from affected PowerShell processes. To resolve this, invalid assemblies must be recompiled manually.
The following commands can be run on affected servers to temporarily stop the Delphix Connector and recompile (optimize) any invalid .NET assemblies.
Open a DOS command prompt and execute the following commands from an account with "Administrator" privileges:
net stop "Delphix Connector" C: cd \Windows\Microsoft.NET\Framework64\v4.0.30319 .\ngen update net start "Delphix Connector"
To prevent future recurrences of these issue, consider running ngen update
manually after applying Windows Updates.
Related Articles
The following articles may provide more information or related information to this article:
- Ngen.exe (Native Image Generator) in Microsoft's .NET Framework documentation