温馨提示×

Linux系统清理指南:如何优化磁盘性能

小樊
33
2025-12-09 06:19:19
栏目: 智能运维

Linux 磁盘清理与性能优化指南

一 快速定位与清理空间

  • 查看整体占用:使用 df -h 确认哪些挂载点空间吃紧;随后用 du -h --max-depth=1 /path 逐级定位大目录。
  • 清理临时与缓存:清理 /tmp/var/tmp(确保无服务依赖),按需清理包管理器缓存(apt clean/autoclean、yum clean all、dnf clean all),并清理旧日志(如 journalctl --vacuum-time=3d–vacuum-size=100M)。
  • 删除大文件与旧内核:用 find / -type f -size +100M -exec ls -lh {} ; 找出大文件;在 Debian/Ubuntu 上用 dpkg --list | grep linux-image 查看旧内核并用 apt-get purge linux-image- 移除。
  • 谨慎清理页面缓存:仅在确认空间紧张且业务低峰时执行 sync && echo 3 > /proc/sys/vm/drop_caches,避免影响性能。
  • 图形化辅助:使用 Baobab(磁盘使用分析器)BleachBit 做可视化盘查与清理。

二 观测瓶颈与诊断

  • 性能指标关注:使用率、饱和度、IOPS、吞吐量、响应时间;当使用率长期高于 80% 或饱和度接近 100% 时,通常存在 I/O 瓶颈。
  • 常用工具与命令:
    • iostat -x 1 10(查看每个磁盘的详细 I/O 与使用率)
    • iotop -o(定位产生 I/O 的进程)
    • vmstat -d(观察磁盘读写统计)
    • dmesg | tailsmartctl -H /dev/sdX(检查硬件错误与健康状态)
    • ioping -c 10 -i 1 -s 1024 /dev/sdX(测量 I/O 延迟)
  • 诊断路径:先用 iostat 发现瓶颈 → 用 pidstat/iotop 定位进程 → 结合应用特征分析 I/O 来源 → 制定优化措施。

三 存储栈关键优化

  • 硬件与介质
    • 优先使用 SSD/NVMe;HDD 关注 转速(如 7200 RPM)缓存大小
    • 识别介质类型:lsblk -d -o name,rotaROTA=1 为 HDD,0 为 SSD);NVMe 可用 nvme set-feature 启用电源管理特性(如 APST)。
  • 文件系统与挂载
    • 选型:ext4(通用、可在线收缩)、XFS(大分区/大文件表现佳、不可收缩)、Btrfs(特性丰富)。
    • 挂载选项:优先 noatime/nodiratime;日志模式可选 ordered/writeback(权衡一致性与性能);ext4 可结合 data=writebackXFS 可用 inode64、nobarrier(确保硬件/阵列具备电池或超级电容保护)。
  • I/O 调度器
    • 查看:cat /sys/block/sdX/queue/scheduler
    • 选择:SSD/NVMe 推荐 none/noop(减少排序开销);HDD 或通用场景可用 deadline;数据库等低延迟敏感负载可用 cfq 并配合 ionice 调整优先级。
  • 块设备与队列
    • 预读:blockdev --setra 8192 /dev/sdX(顺序读较多时增大预读);
    • 队列长度:echo 256 > /sys/block/sdX/queue/nr_requests(提升吞吐但可能增加延迟);
    • NVMe 队列:echo 16 > /sys/block/nvme0n1/queue/nr_requests
  • 内核与虚拟内存
    • 脏页与回写(示例值,需结合负载调优):
      • vm.dirty_background_ratio = 5
      • vm.dirty_ratio = 10
      • vm.dirty_expire_centisecs = 500
      • vm.dirty_writeback_centisecs = 100
    • 回收倾向:/proc/sys/vm/vfs_cache_pressure(默认 100,数值越大越倾向回收目录项/索引节点缓存)。
  • 高级加速
    • RAIDRAID0(条带化提吞吐)、RAID1(镜像冗余)、RAID10(性能+冗余);
    • LVM:灵活扩缩与快照;
    • bcache:用 NVMe 加速 HDD

四 维护与压测建议

  • 持续监控与巡检:定期用 iostat、iotop、smartctl 观察趋势,关注 dmesg 硬件告警;对关键业务建立容量与性能基线。
  • 分区与对齐:规划合理分区大小与数量,确保分区对齐到物理扇区边界,减少寻道与跨扇区开销。
  • 压测验证:上线或调优后用 fio 进行 I/O 压测,验证 IOPS、吞吐量、延迟 是否达标,并回放真实业务访问模式。

五 安全与回退

  • 变更前备份重要数据与配置,优先在测试环境验证;对 /etc/fstab、/etc/sysctl.conf 等修改保留回退方案。
  • 在线调整 I/O 调度器与队列参数可能影响正在运行的服务,建议在维护窗口进行,并逐步调参观察影响。
  • 清理操作(如删除日志、包缓存、旧内核)务必确认依赖关系,避免影响系统更新与回滚能力。

0