Тормозит Docker в Windows 11 (WSL2)
От: Sinclair Россия https://github.com/evilguest/
Дата: 07.08.25 06:49
Оценка: 1 (1)
Всем привет.
Обнаружил тут забавное поведение. Не знаю, насколько оно давно, т.к. обычно в докере я пускаю короткие несложные вещи, где любые тормоза проходят незаметно.
Но вот в последнее время регулярно приходится собирать проекты; коллеги в прямом эфире заметили, что сборка работает на порядок (в 5-10 раз) медленнее, чем интуитивно ожидается.

Я смотрю в статы Docker Desktop — он меня уверяет, что контейнер пыхтит на 105% CPU.
Но когда я смотрю в Task Manager, то у wmmemWSL — 5-6% CPU, в пиках 8%.
Ну ладно, это же проценты от "общей мощи", 8 виртуальных ядер. Одако выходит, что даже от 1 ядра эта зараза не отъедает больше 50%.
Кто знает, где подкрутить, чтобы WSL стала отдавать докеру побольше ресурсов? Всё, что нагуглил — обсуждения пятилетней давности с противоположными проблемами: типа контейнер еле нагружен, а wmmemWSL 99% СPU потребляет.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Тормозит Docker в Windows 11 (WSL2)
От: flаt  
Дата: 08.08.25 20:58
Оценка:
Там на днях WSL зарелизили, заодно прикрутили GUI для настроек (в т.ч. и ресурсов под WSL). Покрутите, вдруг поможет — WSLSettings называется, ЕМНИП.

И да, а версия докера какая? А то они в последних Docker Desktop очень многое сломали, я откатился на февральскую версию из-за этого.
Re[2]: Тормозит Docker в Windows 11 (WSL2)
От: Sinclair Россия https://github.com/evilguest/
Дата: 09.08.25 11:34
Оценка:
Здравствуйте, flаt, Вы писали:

F>Там на днях WSL зарелизили, заодно прикрутили GUI для настроек (в т.ч. и ресурсов под WSL). Покрутите, вдруг поможет — WSLSettings называется, ЕМНИП.

Хм, гуй для настроек там уже не на днях, а несколько месяцев. И ресурсов там на уровне "сколько ядер отдадим WSL". И у меня настроено все 8.
F>И да, а версия докера какая? А то они в последних Docker Desktop очень многое сломали, я откатился на февральскую версию из-за этого.
Docker Engine v28.3.2.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Тормозит Docker в Windows 11 (WSL2)
От: Слава  
Дата: 09.08.25 20:51
Оценка: -2
Здравствуйте, Sinclair, Вы писали:

S>Кто знает, где подкрутить, чтобы WSL стала отдавать докеру побольше ресурсов? Всё, что нагуглил — обсуждения пятилетней давности с противоположными проблемами: типа контейнер еле нагружен, а wmmemWSL 99% СPU потребляет.


Заодно быть может кто-нибудь в теме объяснит мне, на кой чёрт нужен этот самый докер вместо нормальной виртуалки или просто отдельного каталога со всем необходимым. И почему вопрос "чего оно тормозит" как был актуальным с самого его появления, так и остаётся.
Re[2]: Тормозит Docker в Windows 11 (WSL2)
От: Sinclair Россия https://github.com/evilguest/
Дата: 10.08.25 06:44
Оценка: 14 (2)
Здравствуйте, Слава, Вы писали:

С>Заодно быть может кто-нибудь в теме объяснит мне, на кой чёрт нужен этот самый докер

На тот чёрт, что в нём решена масса служебных вопросов про то, откуда брать образы.
С>вместо нормальной виртуалки
Если брать честную виртуалку, то нашим разработчикам придётся раздавать снапшоты VM всем, кто хочет запустить наш компилятор и рантайм. Это во-первых, сильно напряжнее по оверхеду для тех, кто гоняет линукс (то есть для 95% целевой аудитории). Во-вторых, привязывает к конкретной VM-технологии. В-третьих, сильно напряжнее для инфраструктуры. До совсем недавнего времени у нас даже образов контейнеров не раздавали — вместо них была инструкция по локальному изготовлению. Сейчас вроде как возможность стянуть свежий образ из корпоративного артифактори есть, но почти все по старой памяти собирают образ. Опять же, если потребуется образ от позапрошлой недели — он пересобирается локально, а не нагружает корпоративное хранилище. Для VM пришлось бы держать две-три сотни снэпшотов в год. Даже если чистить устаревшее, все равно это лишний геморрой.

Если запускать докер в виртуальной машине, то это будет то же самое, вид сбоку. WSL и есть Hyper-V VM, внутри которой крутится всё остальное. По идее, это как раз самый-самый производительный способ запускать линуксовые контейнеры под виндой. Любая другая виртуализация будет менее эффективной.

С>или просто отдельного каталога со всем необходимым.

Не очень понятно, как "отдельный каталог со всем необходимым" поможет мне запустить компилятор, собранный для линукса, под Windows 11.
С> И почему вопрос "чего оно тормозит" как был актуальным с самого его появления, так и остаётся.
На родной поляне докер (и все другие виды контейнерной виртуализации) всю дорогу были на порядок менее тормозными, чем любые VM (то есть — гипервизорная виртуализация).
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Тормозит Docker в Windows 11 (WSL2)
От: Doom100500 Израиль  
Дата: 11.08.25 07:15
Оценка:
Здравствуйте, Слава, Вы писали:

С>Здравствуйте, Sinclair, Вы писали:


S>>Кто знает, где подкрутить, чтобы WSL стала отдавать докеру побольше ресурсов? Всё, что нагуглил — обсуждения пятилетней давности с противоположными проблемами: типа контейнер еле нагружен, а wmmemWSL 99% СPU потребляет.


С>Заодно быть может кто-нибудь в теме объяснит мне, на кой чёрт нужен этот самый докер вместо нормальной виртуалки или просто отдельного каталога со всем необходимым. И почему вопрос "чего оно тормозит" как был актуальным с самого его появления, так и остаётся.


Такие проблемы с докером на винде. На линухах — это тонкая прослойка изоляции на том-же ядре ().
Спасибо за внимание
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.