Docker - 경고: 스왑 제한이 지원되지 않습니다.

Docker - 경고: 스왑 제한이 지원되지 않습니다.

저는 Ubuntu 16.04에서 Docker(1.9.1)를 실행하고 있습니다. 실행하면 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

이 경고는 무엇을 의미합니까? 확실히 스왑 파티션이 있습니다. 하지만 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

답변1

스왑 제한 지원을 통해 컨테이너에서 사용되는 스왑을 제한할 수 있습니다.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-capability:

아래 지침에 따라 Ubuntu 또는 Debian에서 이러한 기능을 활성화할 수 있습니다. Docker가 실행되지 않는 경우에도 메모리 및 스왑 계산으로 인해 사용 가능한 총 메모리의 약 1%에 해당하는 오버헤드가 발생하고 전체 성능이 10% 저하됩니다.

1) sudo 권한이 있는 사용자로 Ubuntu 또는 Debian 호스트에 로그인합니다.

2) /etc/default/grub파일을 편집합니다. GRUB_CMDLINE_LINUX다음 두 개의 키-값 쌍을 추가하려면 행을 추가하거나 편집하세요 .

GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

3) GRUB를 업데이트합니다.

$ sudo update-grub

답변2

내 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

관련 정보