Сборщик мусора Go (GC) работает одновременно с горутинами вашего приложения. Однако на некоторых этапах GC требуется, чтобы планировщик остановил все горутины (паузы «остановить мир»).
-
Планировщик помогает сборщику мусора, определяя горутины, которые находятся в безопасном состоянии (например, не манипулируют кучей критически) во время этих пауз с остановкой мира.
-
Во время цикла сборки мусора планировщик может отдавать приоритет горутинам, связанным со сборкой мусора.
-
Горутина sysmon помогает сборщику мусора, отмечая неработающие M как безопасные точки. Понимание этого взаимодействия важно, поскольку паузы сборщика мусора, хотя в современном Go они обычно очень короткие, могут повлиять на задержку вашей серверной службы, а эффективность планировщика влияет на продолжительность и частоту этих пауз.