Quantcast
Channel: Common Language Runtime Internals and Architecture forum
Viewing all articles
Browse latest Browse all 1710

GC still pauses whole app under SustainedLowLatency LatencyMode despite it consumes 0.25GB and another 30GBs are available

$
0
0

We are developing an application that needs to meet strict SLA for response times (order of milliseconds). Our app is well within those limits despite when GC pauses the app.

We changed the app config to ensure server gc collection:

<runtime>
    <gcServer enabled="true" />
    <gcConcurrent enabled="true" />
  </runtime>

During the business hours we change the LatencyMode:

GCSettings.LatencyMode = GCLatencyMode.SustainedLowLatency;

Despite those steps we still see (several times per hour) cases where the whole application is being paused for usually up to 100ms, but we saw even a case where it was stopped for 0.5 second (!).

Our app is running on .NET 4.5 on a machine with 4 CPUs and 32GB RAM, and it is the only resources demanding app on that machine.

Is it expected that with such a configuration GC would still pause all threads of a running application? Are there other steps (before investing to manage memory ourselves and setting GC Mode to LowLatency) to prevent GC from pausing all threads simultaneously?


Viewing all articles
Browse latest Browse all 1710

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>