Home | Back
การแก้ปัญหา swap limit capabilities ใน Docker
Saturday, 11 October 2014
ในการสั่ง Docker run นั้น จะมีพารามิเตอร์ -m เพื่อกำหนด limit ของ memory ให้กับ Container นั้น โดยปกติ Kernel จะต้องรองรับ cgroup swap limit ด้วย แต่โดยปกติแล้ว Kernel จะไม่ได้กำหนดให้รองรับไว้แต่แรกทำให้เมื่อรัน Container แบบ limit memory แล้ว จะได้รับคำเตือนว่า “WARNING: Your kernel does not support swap limit capabilities. Limitation discarded.” แต่เราสามารถแก้ไขได้ดังนี้ครับ
1. กำหนดให้ Kernel รองรับ cgroup swap limit
แก้ไขไฟล์ /etc/default/grub ดังนี้ครับ
File : /etc/default/grub
2. กำหนด config ของ grub ใหม่
จากนั้นให้ทำการปรับปรุง Grub ใหม่ดังนี้ครับ
จากนั้น reboot เครื่องใหม่ ระบบ Docker ก็จะรองรับการ limit memory แล้วครับ