Docker/斐讯设备/疯言疯语/飞牛

【N1安装飞牛优化二】限制现有的docker容器使用内存,调整 Swappiness 权重

daimafengzi · 3月29日 · 2026年 · · · · · · · 本文共867个字 · 预计阅读3分钟 2次已读

限制现有的docker容器使用内存

批量设置内存上限(复制并执行即可)

# 1. 核心数据库(MySQL)限额 256M
docker update --memory 256m --memory-swap 256m mysql

# 2. 核心网络/Git 工具(mihomo, gogs)限额 128M ~ 256M
docker update --memory 256m --memory-swap 256m mihomo
docker update --memory 128m --memory-swap 128m gogs

# 3. 基础服务组件(PHP, Redis, Nginx)限额 128M
docker update --memory 128m --memory-swap 128m fn-php
docker update --memory 128m --memory-swap 128m fn-redis
docker update --memory 128m --memory-swap 128m fn-nginx

# 4. 其他小工具(账本、面板)限额 128M 和 64M
docker update --memory 128m --memory-swap 128m cashbook4
docker update --memory 64m --memory-swap 64m metacubexd

为什么这样改?

–memory 256m:限制该容器最多只能吃掉 256M 物理内存。
–memory-swap 256m:限制该容器的“物理内存 + Swap(交换内存)”总共只有 256M。这意味着这个容器严禁过度占用系统资源。
一旦这些容器内存超标,Docker 内部会自行清理,而绝不干扰您 OpenVPN 服务器的正常运行。

调整 Swappiness 权重

低 Swappiness 值,让系统尽量优先使用内存(和我们刚才设置的 ZRAM),减少对闪存的频繁读写。

# 查看当前值 (默认通常是 60)
cat /proc/sys/vm/swappiness

# 临时修改为 10
sysctl vm.swappiness=10

# 永久修改
echo "vm.swappiness=10" >> /etc/sysctl.conf
0 条回应