Docker - CẢNH BÁO: Không hỗ trợ giới hạn trao đổi


29

Tôi đang chạy Docker (1.9.1) trên Ubuntu 16.04. Khi tôi chạy docker infodòng cuối cùng của đầu ra nói 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

Cảnh báo này có ý nghĩa gì? Tôi chắc chắn có một phân vùng trao đổi, bằng chứng là free -mhmặc dù tôi không hiểu tại sao trao đổi của tôi không có mục nào bên dướiavailable

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

Câu trả lời:


29

Hỗ trợ giới hạn hoán đổi cho phép bạn giới hạn trao đổi sử dụng vùng chứa, xem https://docs.docker.com/engine/admin/resource_constraint

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

Bạn có thể kích hoạt các khả năng này trên Ubuntu hoặc Debian bằng cách làm theo các hướng dẫn sau. Kế toán bộ nhớ và trao đổi phải chịu chi phí khoảng 1% tổng bộ nhớ khả dụng và suy giảm hiệu suất tổng thể 10%, ngay cả khi Docker không chạy.

1) Đăng nhập vào máy chủ Ubuntu hoặc Debian với tư cách là người dùng có quyền sudo.

2) Chỉnh sửa /etc/default/grubtập tin. Thêm hoặc chỉnh sửa GRUB_CMDLINE_LINUXdòng để thêm hai cặp khóa-giá trị sau:

GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

3) Cập nhật GRUB.

$ sudo update-grub

3
Một bổ sung nhỏ: máy chủ cần phải được khởi động lại sau này.
Ngọa mèo con

3

Trong ví dụ Google Cloud Compute của tôi, tôi phải làm điều đó khác một chút so với câu trả lời được chấp nhận.

1) chỉnh sửa tệp /etc/default/grub.d/50-cloudimg-sinstall.cfg

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

1.1) sửa đổi hoặc tạo dòng

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

1.2) tiết kiệm

2) cập nhật

sudo update-grub

3) khởi động lại

sudo reboot
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.