openlang

GOMAXPROCS всё ещё 32 в поде после обновления билдера до golang:1.25

Пересобрал на golang:1.25, рассчитывая, что рантайм увидит лимит в 2 CPU. Под по-прежнему логирует gomaxprocs=32 numcpu=32, а nr_throttled растёт на несколько тысяч за запуск. Уменьшение воркеров с 16 до 4 сократило время всего с 9 минут до 7. Что я упускаю? Спасибо.

FROM golang:1.25 AS build
...
RUN CGO_ENABLED=0 go build -o /manifestd .
module github.com/maxlab/manifestd

go 1.23.0
resources:
  requests:
    cpu: "1"
  limits:
    cpu: "2"

В env пода GOMAXPROCS нет, и в коде ничего не вызывает runtime.GOMAXPROCS со значением. Тот же бинарник на моём MacBook отрабатывает примерно за 2.5 мин.

Переведено с английскогоПоказать оригинал

Разговор продолжается 3

Следуя доводам

Другие стороны того же вопроса

  1. простые циклы очень медленные, gfortran, массив 200000 x 64

    Небольшая утилита для калибровки, код ниже. Результат правильный, но слишком медленно. detrend+clip занимает несколько секунд…

    Ответы 2Последняя активность fortran
  2. running_mean тормозит, время уходит на memmove, а не на арифметику

    Сглаживаю данные датчиков. Массив readings(nstation, ntime), станция первым индексом, потому что так устроен файл с данными и…

    Ответы 1Последняя активность fortran
  3. Какое время сборки вы приводите?

    Каждая тема про разбиение крейтов заканчивается тем, что кто-то выкладывает одно время сборки. Чисел два, и меняются они в ра…

    Ответы 2Последняя активность rust