SSD 固态硬盘在 Ubuntu 下需针对性优化:关闭文件系统日志减少写入放大、启用 TRIM 保持性能、调整 I/O 调度器、将临时目录挂载至内存。本文记录分区规划、Ext4 无日志配置、TRIM 启用、调度器与 tmpfs 优化全流程。
/(根分区):20-50 GB,Ext4/home:剩余 SSD 空间,Ext4/store(数据盘):机械硬盘全部分区,Ext4/boot、swap 分区(大内存可用 swap 文件或 zram)须在 Live USB 环境下对未挂载分区操作:
# 关闭日志
sudo tune2fs -O ^has_journal /dev/sda1
# 强制文件系统检查(必做,否则可能损坏)
sudo e2fsck -f /dev/sda1
# 验证
dmesg | grep EXT4
# 应显示:mounted filesystem without journal
如需重新启用:sudo tune2fs -O has_journal /dev/sda1。
uname -a
sudo hdparm -I /dev/sda | grep TRIM
/etc/fstab,在 SSD 分区选项加入 discard:UUID=xxxx / ext4 discard,noatime,nodiratime,errors=remount-ro 0 1
UUID=yyyy /home ext4 discard,noatime,nodiratime 0 2
fstrim.timer(推荐,避免实时 discard 性能抖动):sudo systemctl enable --now fstrim.timer
# 查看当前调度器
cat /sys/block/sda/queue/scheduler
# 输出:[deadline] cfq noop
# SSD 推荐 noop 或 deadline(内核 5.0+ 有 mq-deadline/kyber)
echo noop | sudo tee /sys/block/sda/queue/scheduler
# 永久生效:编辑 /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop"
sudo update-grub
# /etc/fstab 追加
tmpfs /tmp tmpfs defaults,noatime,nosuid,nodev,size=2G 0 0
tmpfs /var/tmp tmpfs defaults,noatime,nosuid,nodev,size=1G 0 0
tmpfs /var/log tmpfs defaults,noatime,nosuid,nodev,size=512M 0 0
# 注:/var/log 挂载 tmpfs 会导致重启丢失日志,生产环境慎用
echo 'vm.swappiness=10' | sudo tee /etc/sysctl.d/99-ssd.conf
echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.d/99-ssd.conf
sudo sysctl --system

Ext4 无日志 + TRIM/discard + noop 调度器 + tmpfs 临时目录 + 低 swappiness,组合可最大化 SSD 寿命与性能。安装时规划分区、Live USB 关闭日志、启用 fstrim.timer 是核心步骤。
Linux test 指令實戰:條件判斷、檔案測試與 Shell 腳本邏輯控制
Linux 硬碟直啟 ISO 映像:GRUB2 循環掛載啟動 Ubuntu/CentOS Live 系統完整教學
Linux 定時重啟 Tomcat 實戰:crontab + 啟動/關閉腳本 自動化運維
Linux find 命令進階實戰:檔案搜尋、條件組合、深度控制、類型過濾與批次處理
Linux HAProxy 搭建 HTTP 負載均衡完整實戰:高可用架構入門指南
Linux wget 設定 HTTP/HTTPS Proxy 三種方式:命令列參數、環境變數、配置檔