1. 硬件升级:使用SSD替代HDD
固态硬盘(SSD)的读写速度远高于传统机械硬盘(HDD),是提升存储性能最直接的方式。将系统或关键数据(如/home、/var)迁移至SSD,可显著减少文件读写延迟。若使用HDD,建议选择7200转以上的高速硬盘,并确保SATA接口为3.0及以上版本。
2. 优化文件系统选择与配置
/etc/fstab
中添加优化参数,如noatime
(避免每次读取文件时更新访问时间,减少写操作)、discard
(启用TRIM支持,优化SSD寿命,适用于Ext4/XFS)、data=writeback
(适用于Ext4,减少写入日志的开销)。例如:/dev/sda1 / ext4 defaults,noatime,discard 0 1
fsck
检查并修复文件系统错误,使用tune2fs
调整Ext4参数(如-O has_journal
关闭日志以延长SSD寿命,但需权衡数据安全性)。3. 调整内核参数优化内存与交换空间
vm.swappiness
控制系统使用交换分区的倾向,默认值为60(较高),建议设置为10-30(减少交换分区使用,提升内存利用率)。临时调整:sudo sysctl -w vm.swappiness=10
;永久生效:编辑/etc/sysctl.conf
添加vm.swappiness=10
。dirty_ratio
(脏块占内存的比例,触发刷新的阈值)和dirty_background_ratio
(后台刷新的脏块比例),减少磁盘I/O压力。例如,将dirty_ratio
从20%调整为10%,dirty_background_ratio
从10%调整为5%:sudo sysctl -w vm.dirty_ratio=10
sudo sysctl -w vm.dirty_background_ratio=5
zram-config
创建压缩的内存交换空间,避免物理swap分区对SSD的写入损耗。安装并配置:sudo apt install zram-config
。4. 优化磁盘I/O调度器
Linux内核提供多种I/O调度器,需根据硬件选择:
noop
(无调度,依赖SSD自身的并行处理能力)或deadline
(保证I/O请求的延迟)。deadline
(减少寻道时间)或cfq
(公平队列,适合多任务)。cat /sys/block/sda/queue/scheduler
,临时切换(如切换至noop
):echo noop | sudo tee /sys/block/sda/queue/scheduler
;永久生效:在/etc/default/grub
中修改GRUB_CMDLINE_LINUX
参数,添加elevator=noop
,然后更新grub:sudo update-grub
。5. 利用LVM与缓存加速
sudo vgcreate myvg /dev/sda1
;创建逻辑卷:sudo lvcreate -L 50G -n mylv myvg
;格式化并挂载。sudo lvcreate -L 1G -n cache_pool myvg
;创建缓存卷:sudo lvcreate -L 50G -n my_cache_lv myvg --cache my_cache_pool
;挂载缓存卷。6. 清理系统垃圾与无用文件
定期清理以下内容,释放磁盘空间并减少I/O负载:
sudo apt clean
(清理下载的软件包)、sudo apt autoremove
(移除不再需要的依赖)。sudo rm -rf /tmp/*
(清理/tmp目录下的临时文件)、sudo journalctl --vacuum-size=100M
(限制系统日志大小为100MB)。Ubuntu Software Center
或apt
卸载不常用的软件。7. 监控与分析存储性能
使用工具定位性能瓶颈:
sudo apt install sysstat
;使用:iostat -mx 1
(每秒刷新一次)。sudo apt install iotop
;使用:sudo iotop -o
(仅显示正在执行I/O的进程)。sudo apt install smartmontools
;使用:sudo smartctl -a /dev/sda
(查看磁盘SMART信息)。8. 调整应用程序与系统配置
innodb_buffer_pool_size
设置为物理内存的50%-70%)、优化查询语句(减少全表扫描)、减少不必要的日志写入。systemctl
禁用不需要的开机服务(如bluetooth
、cups
),减少系统负载:sudo systemctl disable bluetooth
。preload
是一个后台守护进程,分析用户行为,提前加载常用应用的二进制库,加速应用启动。安装:sudo apt install preload
(默认开启)。