Docker - ATTENZIONE: nessun supporto al limite di scambio


29

Sto eseguendo Docker (1.9.1) su Ubuntu 16.04. Quando eseguo docker infol'ultima riga dell'output dice 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

Cosa significa questo avviso? Ho sicuramente una partizione di swap, come evidenziato free -mhanche se non capisco perché il mio swap non abbia alcuna voceavailable

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

Risposte:


29

Il supporto del limite di scambio consente di limitare lo swap utilizzato dal contenitore, vedere https://docs.docker.com/engine/admin/resource_constraints

Secondo https://docs.docker.com/engine/installation/linux/linux-postinstall/#your-kernel-does-not-support-cgroup-swap-limit-capabilities :

È possibile abilitare queste funzionalità su Ubuntu o Debian seguendo queste istruzioni. La contabilità della memoria e degli swap comporta un sovraccarico di circa l'1% della memoria disponibile totale e un degrado complessivo delle prestazioni del 10%, anche se Docker non è in esecuzione.

1) Accedi all'host Ubuntu o Debian come utente con privilegi sudo.

2) Modifica il /etc/default/grubfile. Aggiungi o modifica la GRUB_CMDLINE_LINUXriga per aggiungere le seguenti due coppie chiave-valore:

GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

3) Aggiorna GRUB.

$ sudo update-grub

3
Una piccola aggiunta: il server deve essere riavviato dopo questo.
Gattino accovacciato

3

Nella mia istanza di Google Cloud Compute ho dovuto farlo un po 'diverso dalla risposta accettata.

1) modifica il file /etc/default/grub.d/50-cloudimg-settings.cfg

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

1.1) modificare o creare la linea

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

1.2) salva

2) aggiorna grup

sudo update-grub

3) riavviare

sudo reboot
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.