도커 — 경고 : 스왑 제한이 지원되지 않습니다


29

우분투 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

답변:


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-capabilities 에 따르면 :

다음 지침에 따라 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

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) 업데이트 grup

sudo update-grub

3) 재부팅

sudo reboot
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.