在 Ubuntu(及其他 Linux 发行版)上,“文件系统优化”通常可以从 文件系统选择、挂载参数、磁盘调度、SSD 优化、定期维护 等多个层面来进行。下面按实用程度分层说明。
默认 Ubuntu 使用 ext4,一般已经很好;以下情况可考虑其他:
若只是普通桌面/服务器,ext4 足够,不必盲目换
编辑 /etc/fstab 时可加入优化参数。
defaults,noatime,nodiratime,discard
说明:
noatime:不更新文件访问时间(显著减少写操作)nodiratime:目录同理discard:SSD 实时 TRIM(也可用 periodic trim 代替)示例:
UUID=xxxx / ext4 defaults,noatime 0 1
查看是否支持:
sudo fstrim -v /
推荐 定期 TRIM(比 discard 更安全):
sudo systemctl enable fstrim.timer
sudo systemctl start fstrim.timer
使用 parted 创建分区时:
parted /dev/sda align-check optimal 1
(现代 Ubuntu 安装器默认已对齐)
Ubuntu 20.04+ 默认使用 mq-deadline 或 none(SSD)
查看当前调度:
cat /sys/block/sda/queue/scheduler
SSD 推荐:
echo mq-deadline | sudo tee /sys/block/sda/queue/scheduler
永久生效(systemd):
sudo nano /etc/udev/rules.d/60-ssd-scheduler.rules
ACTION=="add|change", KERNEL=="sda", ATTR{queue/scheduler}="mq-deadline"
sudo fsck -f /dev/sda1
(需在救援模式或卸载状态下)
sudo apt autoremove
sudo apt clean
sudo journalctl --vacuum-time=7d
ext4 很少碎片化,仅服务器大文件场景可考虑:
sudo e4defrag /
sudo sysctl vm.swappiness=10
写入 /etc/sysctl.conf 永久生效
减少日志写入:
sudo nano /etc/fstab
/var/log ext4 defaults,noatime 0 2
iotop:查看 I/O 占用iostat(sysstat)smartctl:硬盘健康sudo apt install iotop sysstat smartmontools
✅ ext4
✅ noatime
✅ fstrim.timer
✅ mq-deadline(SSD)
✅ 定期 apt 清理
如果你能说明 使用场景(桌面 / 服务器 / 数据库 / Docker) 和 磁盘类型(HDD / SSD / NVMe),我可以给你一份更精确的优化方案。