Докер - ПОПЕРЕДЖЕННЯ: Немає підтримки обмеження свопу


29

Я запускаю Docker (1.9.1) на Ubuntu 16.04. Коли я запускаю docker infoостанній рядок виводу каже WARNING: No swap limit support.

INFO[0781] GET /v1.21/info                              
Containers: 0
Images: 0
Server Version: 1.9.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 0
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 4.4.0-62-generic
Operating System: Ubuntu 16.04.1 LTS (containerized)
CPUs: 2
Total Memory: 3.664 GiB
Name: lenovo
ID: A3ZV:2EVK:U5QB:O7CG:PEDL:SANK:X74X:QNLC:VOTK:GFDR:S24T:C5KT
WARNING: No swap limit support

Що означає це попередження? У мене, безумовно, є розділ swap, про що свідчить, free -mhхоча я не розумію, чому мій своп не має запису підavailable

total        used        free      shared  buff/cache   available
Mem:           3.7G        1.9G        182M        157M        1.6G           1.3G
Swap:          3.8G        2.9M        3.8G

Відповіді:


29

Підтримка ліміту заміни дозволяє обмежити заміну, яку використовує контейнер, див. Https://docs.docker.com/engine/admin/resource_constraints

Відповідно до https://docs.docker.com/engine/installation/linux/linux-postinstall/#your-kernel-does-not-support-cgroup-swap-limit-capa sposobnosti :

Ви можете включити ці можливості на Ubuntu або Debian, дотримуючись цих інструкцій. Облік пам’яті та своп несуть накладні витрати приблизно в 1% від загальної доступної пам’яті та 10% загальної деградації продуктивності, навіть якщо Docker не працює.

1) Увійдіть в хост Ubuntu або Debian як користувач з правами sudo.

2) Відредагуйте /etc/default/grubфайл. Додайте або відредагуйте GRUB_CMDLINE_LINUXрядок, щоб додати дві наступні пари ключ-значення:

GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

3) Оновити GRUB.

$ sudo update-grub

3
Одне невелике доповнення: сервер потрібно перезапустити після цього.
Кошеня кошеня

3

У моєму екземплярі Google Cloud Compute мені довелося це зробити дещо інакше, ніж прийнята відповідь.

1) відредагуйте файл /etc/default/grub.d/50-cloudimg-settings.cfg

sudo nano /etc/default/grub.d/50-cloudimg-settings.cfg

1.1) змінювати або створювати рядок

GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0 cgroup_enable=memory swapaccount=1"

1.2) зекономити

2) оновити групу

sudo update-grub

3) перезавантажити

sudo reboot
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.