lp1641
@lp1641
Junior Front-End (React)

Docker Desktop потребляет много ресурсов, грузит процессор и оперативную память. Что делать?

Есть ноутбук с процессором 2 ядра по 2.8 в 4 потока, 16 гигабайт оперативной памяти. Появилась потребность запускать бекенд на NodeJS + базу данных, чтобы работать над React фронтендом.
Столкнулся с тем что во время запуска контейнеров была достаточно высокая нагрузка на процессор что конечно влияло на нагрев и скорость вращения кулера, и после его запуска сохранялась нагрузка до 20% хотя особых вычислений там не происходило что и вызвало моё недоумение.
  • Вопрос задан
  • 9908 просмотров
Решения вопроса 1
lp1641
@lp1641 Автор вопроса
Junior Front-End (React)
Сперва нашёл .wslconfig, там уменьшил количество ресурсов, вроде стало немного лучше, а потом случайно выключил WSL2 в настройках Docker и заметил что нагрузка снизилась.
Потом ещё поэкспериментировал и составил список. Потому что для слабых устройств это может быть критично.

- Использовать Hyper-V вместо WSL2. Это происходит само по себе если в настройках отключить использование WSL2.

- Отключить отправку анонимной статистики.

- Отключить автоматическую проверку и скачивание обновлений.

- На Hyper-V Docker практически не грузит систему если его запускать один раз, если его закрыть и открыть заново он начинает грузить. После запуска контейнеров можно убить в диспетчере задач процесс Docker который нагружает CPU. Без того процесса всё продолжило работать нормально и ничего не закрылось. Причины такого поведения не ясны.

- Настроить ресурсы выделяемые для Hyper-V на минимум, или увеличить если это нужно для содержимого контейнера. Но приложениям на NodeJS хватает и минимум ресурсов. Для WLS2 ресурсы настраиваются в папке пользователя Windows в файле .wslconfig, WLS2 грузит систему сильнее и по ощущениям работает медленнее не смотря на то что в настройках докера написано о том что это более производительное решение.

- Благодаря этим действиям Docker начинает работать быстрее, почти не потребляет CPU и RAM, и это хорошо. Тестировалось с контейнерами где была база данных и бекенд на NodeJS.

Всё что здесь описано личный опыт, Docker Desktop был версии 4.7.0, не факт что ваш опыт будет совпадать с моим.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Seo5
все верно надо использовать на hyper-v, более подробно писал тут https://saitsozdanie.ru/forum/index.php?topic=9313.0
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы