До Go 1.25 рантайм ориентировался на CPU всей машины. Поэтому pod с лимитом в 2 CPU на 64-ядерной ноде мог получить GOMAXPROCS=64.
Linux при превышении CPU limit начинал throttling — процесс мог полностью приостанавливаться на оставшуюся часть периода. Это особенно неприятно для tail latency.
runtime.GOMAXPROCS(0)
Например, pod с лимитом в 2 CPU → GOMAXPROCS будет 2. Значение также периодически пересчитывается, если cgroup limit меняется.
⚠️ Но есть ловушка: если вы вручную задаёте GOMAXPROCS через env или:
runtime.GOMAXPROCS(8)
автоматическая настройка отключается.
📍 Навигация: Вакансии • Задачи • Собесы
#GoDeep