นักเทียบท่า - คำเตือน: ไม่รองรับการ จำกัด การแลกเปลี่ยน


29

ฉันใช้นักเทียบท่า (1.9.1) บน Ubuntu 16.04 เมื่อฉันเรียกบรรทัดสุดท้ายของการส่งออกกล่าวว่าdocker infoWARNING: 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 โดยทำตามคำแนะนำเหล่านี้ การบัญชีหน่วยความจำและการแลกเปลี่ยนมีค่าใช้จ่ายประมาณ 1% ของหน่วยความจำทั้งหมดที่มีอยู่และการลดลงของประสิทธิภาพโดยรวม 10% แม้ว่านักเทียบท่าจะไม่ทำงาน

1) เข้าสู่ระบบโฮสต์ Ubuntu หรือ Debian ในฐานะผู้ใช้ที่มีสิทธิ์ sudo

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) อัปเดตกลุ่ม

sudo update-grub

3) รีบูต

sudo reboot
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.