Выбор ответа Senior GC, IDisposable и производительность обновлено

Server GC и Workstation GC

Вопрос

Чем Server GC, включённый по умолчанию в ASP.NET Core, отличается от Workstation GC?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Куча и поток GC на каждое ядро: выше пропускная способность и память. Server GC создаёт кучу и выделенный поток сборки на каждое логическое ядро, сборка идёт параллельно, пропускная способность выше, но памяти уходит больше.

Варианты ответа

  1. Server GC никогда не останавливает потоки приложения во время сборки
  2. Куча и поток GC на каждое ядро: выше пропускная способность и памятьправильный ответ
  3. Server GC собирает мусор только по расписанию в периоды низкой нагрузки
  4. Workstation GC не умеет фоновую сборку, поэтому паузы у него длиннее

Разбор

Server GC создаёт кучу и выделенный поток сборки на каждое логическое ядро, сборка идёт параллельно, пропускная способность выше, но памяти уходит больше. В контейнерах с маленьким лимитом памяти это бывает заметно, отсюда настройки DOTNET_GCHeapHardLimit и режим DATAS (.NET 8, по умолчанию с .NET 9), который адаптирует число куч. Паузы у Server GC есть. Фоновая сборка поколения 2 есть у обоих режимов.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.