Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Ubuntu 安装与优化 SSD 固态硬盘:Ext4 无日志、TRIM/discard、调度器与临时文件内存化

編輯:關於 Linux

SSD 固态硬盘在 Ubuntu 下需针对性优化:关闭文件系统日志减少写入放大、启用 TRIM 保持性能、调整 I/O 调度器、将临时目录挂载至内存。本文记录分区规划、Ext4 无日志配置、TRIM 启用、调度器与 tmpfs 优化全流程。

一、分区规划(安装时)

  • /(根分区):20-50 GB,Ext4
  • /home:剩余 SSD 空间,Ext4
  • /store(数据盘):机械硬盘全部分区,Ext4
  • 无需单独 /boot、swap 分区(大内存可用 swap 文件或 zram)

二、关闭 Ext4 日志(无日志模式)

须在 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。

三、启用 TRIM(discard 挂载选项)

  1. 确认内核 ≥ 2.6.33 且 SSD 支持 TRIM:
    uname -a
    sudo hdparm -I /dev/sda | grep TRIM
  2. 编辑 /etc/fstab,在 SSD 分区选项加入 discard:
    UUID=xxxx  /  ext4  discard,noatime,nodiratime,errors=remount-ro  0  1
    UUID=yyyy  /home  ext4  discard,noatime,nodiratime  0  2
  3. 或使用 systemd 定时任务 fstrim.timer(推荐,避免实时 discard 性能抖动):
    sudo systemctl enable --now fstrim.timer

四、I/O 调度器优化

# 查看当前调度器
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

五、临时目录挂载至内存 (tmpfs)

# /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 会导致重启丢失日志,生产环境慎用

六、Swappiness 与缓存压力调整

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

SSD 优化 fstab discard 示意图

Ext4 无日志 + TRIM/discard + noop 调度器 + tmpfs 临时目录 + 低 swappiness,组合可最大化 SSD 寿命与性能。安装时规划分区、Live USB 关闭日志、启用 fstrim.timer 是核心步骤。

Copyright © Windows教程網 All Rights Reserved