Giới hạn CPU/RAM cho container

Container em chỉ cần 1MB RAM, sao server crash?
– Hóa ra, container ngốn hết 16GB vì không set limit!

Audit thấy container chạy “vô tội vạ”, ngốn hết CPU/RAM của host, làm server chậm như “rùa bò”. Một service đi lạc, cả hệ thống “hắt hơi”, khách hàng nhận lỗi 503.

Container không limit ngốn hết RAM của server!

Container không giới hạn

Thực trạng:  
  • Không set CPU/memory limits, container chiếm hết tài nguyên host.  
  • Dev nghĩ “Docker tự scale”, nhưng không có limit, pod crash hàng loạt.  
  • Không audit resource usage bằng docker inspect hay docker stats.
Hệ quả:  
  • Server quá tải: Một container “tham lam” làm chết các service khác.  
  • Khó debug: Không biết container nào ngốn tài nguyên.  
  • Tốn chi phí: Cloud instance chạy full load, bill tăng vọt.

Giới hạn tài nguyên

Để container “ngoan”:  
  • Set limits: Cấu hình CPU/memory limits trong Docker Compose hoặc Kubernetes.  
  • Audit resource: Dùng docker stats hoặc docker inspect để kiểm tra usage.  
  • Cgroup/sysctl: Dùng khi cần kiểm soát nâng cao (như IO limits).

Ví dụ: Giới hạn trong Docker Compose:

services:
  app:
    image: my-app
    deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 512M

🎯 Tóm lại: Không giới hạn CPU/RAM là “mời gọi” server crash. Set limits, audit resource để container sống hòa bình, server “thở” dễ.

Post a Comment

Mới hơn Cũ hơn