Problem
No container has memory limits, CPU limits, or PID limits. Without mem_limit, a MySQL query causing excessive memory allocation will OOM-kill the host or steal memory from Redis (Celery broker dies). Without CPU limits, one container can starve others under heavy load. Also a prerequisite for meaningful InnoDB buffer pool tuning (MY-1).
Files: src/container.py, services/mysql-mgmt/docker_compose.yml
Fix
| Container |
mem_limit |
cpus |
pids_limit |
| MySQL Server |
2G |
2.0 |
500 |
| MySQL Mgmt |
1G |
1.0 |
200 |
| Redis |
768M |
0.5 |
100 |
| Superset |
2G |
2.0 |
500 |
Set memswap_limit equal to mem_limit for all containers (no swap).
Acceptance Criteria
Problem
No container has memory limits, CPU limits, or PID limits. Without
mem_limit, a MySQL query causing excessive memory allocation will OOM-kill the host or steal memory from Redis (Celery broker dies). Without CPU limits, one container can starve others under heavy load. Also a prerequisite for meaningful InnoDB buffer pool tuning (MY-1).Files:
src/container.py,services/mysql-mgmt/docker_compose.ymlFix
mem_limitcpuspids_limitSet
memswap_limitequal tomem_limitfor all containers (no swap).Acceptance Criteria
mem_limit=2G,cpus=2.0,pids_limit=500mem_limit=1G,cpus=1.0,pids_limit=200mem_limit=768M,cpus=0.5,pids_limit=100mem_limit=2G,cpus=2.0,pids_limit=500memswap_limitequalsmem_limitfor all containers (no swap)