extensions
extensions copied to clipboard
High CPU usage over time in .NET 8 host when using Microsoft.Extensions.Hosting v9.0.0
Description
We observed that when running a background service in a .NET 8 container, after several hours CPU usage steadily increases (i.e. “CPU ramp up”). This only occurs when Microsoft.Extensions.Hosting is at version 9.x, not when using 8.x.
Reproduction Steps
- Use a test project
- Target .NET 8
- Reference
Microsoft.Extensions.Hostingv9.0.0 - Deploy to container or run continuously
- Observe CPU usage over time (e.g.,
dotnet-counters,top) - Capture .NET trace / flame graph
Expected behavior
CPU should remain stable under idle or light throughput workload
Actual behavior
CPU usage gradually increases until saturation
Regression?
No response
Known Workarounds
No response
Configuration
No response
Other information
we have to downgrade all of these packages to fix the issue:
<PackageVersion Include="DeviceDetector.NET" Version="6.4.2" />
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="8.0.1" />
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="8.0.2" />
<PackageVersion Include="Microsoft.Extensions.Configuration.CommandLine" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.2" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.2" />
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Http" Version="8.0.0" />
<PackageVersion Include="OpenTelemetry.Exporter.Console" Version="1.9.0" />
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.9.0" />
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.9.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.9.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.9.0" />
<PackageVersion Include="YamlDotNet" Version="16.2.1" />