Выбор ответа Senior GC, IDisposable и производительность обновлено
Server GC и Workstation GC
Вопрос
Чем Server GC, включённый по умолчанию в ASP.NET Core, отличается от Workstation GC?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Куча и поток GC на каждое ядро: выше пропускная способность и память. Server GC создаёт кучу и выделенный поток сборки на каждое логическое ядро, сборка идёт параллельно, пропускная способность выше, но памяти уходит больше.
Варианты ответа
- Server GC никогда не останавливает потоки приложения во время сборки
- Куча и поток GC на каждое ядро: выше пропускная способность и памятьправильный ответ
- Server GC собирает мусор только по расписанию в периоды низкой нагрузки
- Workstation GC не умеет фоновую сборку, поэтому паузы у него длиннее
Разбор
Server GC создаёт кучу и выделенный поток сборки на каждое логическое ядро, сборка идёт параллельно, пропускная способность выше, но памяти уходит больше. В контейнерах с маленьким лимитом памяти это бывает заметно, отсюда настройки DOTNET_GCHeapHardLimit и режим DATAS (.NET 8, по умолчанию с .NET 9), который адаптирует число куч. Паузы у Server GC есть. Фоновая сборка поколения 2 есть у обоих режимов.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.