ubuntu如何优化磁盘性能
导读:Ubuntu磁盘性能优化实用指南 一 基础检查与硬件设置 确认存储控制器模式:在BIOS/UEFI将SATA 模式设为AHCI,以获得NCQ与更好的SSD兼容性。 更新SSD固件:到厂商页面获取最新固件并按说明升级,通常能改善性能与可靠性...
Ubuntu磁盘性能优化实用指南
一 基础检查与硬件设置
- 确认存储控制器模式:在BIOS/UEFI将SATA 模式设为AHCI,以获得NCQ与更好的SSD兼容性。
- 更新SSD固件:到厂商页面获取最新固件并按说明升级,通常能改善性能与可靠性。
- 分区与对齐:现代Ubuntu安装器已默认4K对齐,无需手动对齐;若使用旧工具或特殊场景,请确认对齐。
- 预留空间:为SSD保留约7%未分配空间(或厂商已内置OP),在盘快满时可显著减少掉速。
- 虚拟机场景:优先使用virtio-blk半虚拟化磁盘,并在宿主机启用I/O虚拟化;磁盘缓存模式可用writeback(需确认数据安全策略)。
二 文件系统与挂载参数
- 推荐文件系统:系统盘优先ext4;大文件/高吞吐可选XFS;需要快照/校验/压缩可选Btrfs/ZFS(各有取舍)。
- 减少元数据写入:在**/etc/fstab中为SSD挂载点添加noatime,nodiratime**,必要时对日志类负载可测试relatime。
- 启用TRIM:SSD建议启用TRIM。方式一:在**/etc/fstab使用discard**(简单但可能有轻微性能波动);方式二:定期执行fstrim(推荐)。示例:
- fstab:UUID=xxx / ext4 defaults,noatime,nodiratime 0 1
- 定时TRIM:sudo systemctl enable --now fstrim.timer(每周执行)
- 写屏障与日志权衡:确保barrier=1(默认)以保证元数据一致性;仅在具备电池/超级电容保护的RAID或明确风险可控时,才考虑barrier=0换取性能。
- 临时目录:将**/tmp放入tmpfs**(内存盘)以减少SSD写放大:创建**/etc/tmpfiles.d/tmp.conf**,内容如:D /tmp 1777 root root 10d。
三 内核与I O调度器
- 查看与临时切换调度器:
- cat /sys/block/sdX/queue/scheduler
- echo noop > /sys/block/sdX/queue/scheduler(示例)
- 场景化选择:
- SSD/虚拟化:优先noop(减少调度开销,交由底层优化)。
- HDD/通用:优先deadline(兼顾吞吐与响应)。
- 交互/桌面/混合负载:可选bfq(公平性更好)。
- 虚拟机建议:客户机使用noop;宿主机根据负载选择mq-deadline/bfq。
- 持久化(GRUB):编辑**/etc/default/grub**,在GRUB_CMDLINE_LINUX_DEFAULT添加如elevator=noop,执行update-grub生效。
四 内存与交换策略
- 控制换页倾向:将vm.swappiness设为10–30(默认60),减少非必要换页;仅在高内存压力且允许的情况下再降低。
- 压缩内存:启用zram-config(Ubuntu提供),作为swap on zram提升低内存场景的响应。
- 大内存与休眠:内存较大(如≥32GB)且很少休眠时,可考虑关闭hibernation以减少SSD写入与唤醒耗时。
五 基准测试与监控
- 快速体检:
- 顺序性能:sudo hdparm -tT /dev/sdX
- 吞吐与延迟:
- iostat -x 1(关注await、r/s、w/s、svctm、util)
- iotop(定位高IO进程)
- 可重复压测:
- fio --name=randread --filename=testfile --bs=4k --size=1G --readwrite=randread --runtime=60 --time_based
- fio --name=randwrite --filename=testfile --bs=4k --size=1G --readwrite=randwrite --runtime=60 --time_based
- 调整前后对比同一套命令,观察IOPS、延迟、带宽与CPU占用变化,避免“凭体感”调参。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu如何优化磁盘性能
本文地址: https://pptw.com/jishu/788165.html
