1

Application is running on 16 core 64bit Window server 2012.

On one gen0 collect

Reading from performance monitor, A spike of % of gc time and high CPU usage across multiple core is observed after a gen0 collect. Memory usage is low I.e only 30% of total memory is used. The application was hanged for 30 seconds as a result.

Per my knowledge gen0 collect is supposed to be cheap that could finish quickly and shouldn’t cause stop-the-world effect on multiple cpu core usage.

Am I missing anything here? That, a gen0 collect can really cause 100% cpu usage and stop the application running for long period of time?

abatishchev
  • 98,240
  • 88
  • 296
  • 433
cscmh99
  • 2,701
  • 2
  • 15
  • 18
  • [Related](https://stackoverflow.com/q/29216659/1364007). Have you tried a memory profiler? – Wai Ha Lee Feb 14 '19 at 17:37
  • @WaiHaLee we did perfview in dev server. But we can only capture the profile when the similar issue happened during a LOH triggered gen2 collect. Gen0 collect never cause cpu spike before and it happened so random that we might never be able to reproduce the issue without knowing the possible root cause. That’s why I’m asking in the post to get some idea how a gen0 collect can ever cause 100% cpu spike with half min application freeze – cscmh99 Feb 14 '19 at 17:45
  • This reminds me of my [War Story – The Mystery Of The Very Long GC Pauses in .NET Windows Service](http://tooslowexception.com/scenario-mystery-of-the-very-long-gc-pauses-in-net-windows-service/). Or at least you will find some diagnostic clues there. – Konrad Kokosa Feb 14 '19 at 18:58

0 Answers0