“Ubuntu 上 overlay 配置慢”这个说法有点模糊,我先按最常见的几种场景给你对应处理方案,你看看是哪一种。
overlay2 在 机械盘 / 网络盘 / 低性能云盘 上会非常慢。
✅ 解决:
lsblk -d -o name,rota
ROTA=1 说明是机械盘
默认:
/var/lib/docker
✅ 迁移到快盘:
systemctl stop docker
mv /var/lib/docker /data/docker
ln -s /data/docker /var/lib/docker
systemctl start docker
或修改 /etc/docker/daemon.json:
{
"data-root": "/data/docker"
}
overlay 层数越多越慢。
✅ 建议:
⚠️ 这是大坑
✅ 必须:
upperdir 和 workdir 在同一文件系统
错误示例(慢):
upperdir=/mnt/ssd/upper
workdir=/tmp/work
正确:
upperdir=/mnt/ssd/upper
workdir=/mnt/ssd/work
常见于:
✅ 优化:
overlay 而不是 aufs✅ 推荐:
mount -o defaults,noatime,discard
/etc/fstab 示例:
UUID=xxx / ext4 defaults,noatime 0 1
df -i
如果 IUse% = 100%,overlay 会非常慢。
你可以先跑这几个:
df -h
df -i
lsblk -d -o name,rota
mount | grep overlay
docker info | grep Storage
你可以告诉我:
我可以直接给你针对性命令。