Docker - PERINGATAN: Tidak ada dukungan batas swap

29

Saya menjalankan Docker (1.9.1) di Ubuntu 16.04. Ketika saya menjalankan docker infobaris terakhir dari output mengatakan 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

Apa artinya peringatan ini? Saya pasti memiliki partisi swap, sebagaimana dibuktikan oleh free -mhmeskipun saya tidak mengerti mengapa swap saya tidak memiliki entri di bawahavailable

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
Stephen C
sumber

Jawaban:

29

Dukungan batas swap memungkinkan Anda membatasi swap yang digunakan wadah, lihat https://docs.docker.com/engine/admin/resource_constraints

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

Anda dapat mengaktifkan kapabilitas ini di Ubuntu atau Debian dengan mengikuti instruksi ini. Penghitungan memori dan swap mengeluarkan biaya sekitar 1% dari total memori yang tersedia dan penurunan kinerja keseluruhan 10%, bahkan jika Docker tidak berjalan.

1) Masuk ke host Ubuntu atau Debian sebagai pengguna dengan hak istimewa sudo.

2) Edit /etc/default/grubfile. Tambahkan atau edit GRUB_CMDLINE_LINUXbaris untuk menambahkan dua pasangan nilai kunci berikut:

GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

3) Perbarui GRUB.

$ sudo update-grub
Samizdis
sumber
3
Satu tambahan kecil: server harus di-restart setelah ini.
Crouching Kitten
3

Pada contoh Google Cloud Compute saya, saya harus melakukannya sedikit berbeda dari jawaban yang diterima.

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

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

1.1) memodifikasi atau membuat garis

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

1.2) simpan

2) perbarui grup

sudo update-grub

3) reboot

sudo reboot
Kai
sumber