📊hdparm 详细使用指南 1. 基本安装与识别硬盘 # 安装 sudo apt install hdparm# 查看所有硬盘 lsblk# 或 sudo fdisk -l# 识别硬盘类型 sudo hdparm -I /dev/sda| grep -i"model" 2. 常用测试命令 基础性能测试 # 基本读取测试(推荐) sudo hdparm -Tt /dev/sda# 输出示例: # Timing cached reads: 15340 MB in 2.00 seconds = 7670.00 MB/sec # Timing buffered disk reads: 540 MB in 3.01 seconds = 179.41 MB/sec 详细解读参数 # -T: 测试缓存读取(内存到CPU) # -t: 测试磁盘直接读取(硬盘到内存) # --direct: 绕过缓存直接测试 # -N: 查看硬盘支持的最大DMA模式 3. 高级测试选项 不同块大小测试 # 测试大块读取(512KB) sudo hdparm -t --direct --blocksize= 512 /dev/sda# 测试小块读取(4KB) sudo hdparm -t --direct --blocksize= 4 /dev/sda多区域测试 # 测试硬盘不同位置的读取速度 sudo hdparm -t --offset0 /dev/sda# 起始位置 sudo hdparm -t --offset50 % /dev/sda# 中间位置 sudo hdparm -t --offset90 % /dev/sda# 末尾位置 安全擦除(谨慎使用!) # 查看安全擦除支持 sudo hdparm -I /dev/sda| grep -i"security" # 安全擦除(会删除所有数据!) # sudo hdparm --user-master u --security-set-pass Eins /dev/sda # sudo hdparm --user-master u --security-erase Eins /dev/sda 4. 测试结果解读标准 机械硬盘(HDD)参考值 转速 缓存读取 磁盘读取 评价 5400 RPM 7000-10000 MB/s 80-120 MB/s 正常 7200 RPM 7000-10000 MB/s 120-180 MB/s 良好 10000 RPM 7000-10000 MB/s 180-220 MB/s 优秀
固态硬盘(SSD)参考值 接口类型 缓存读取 磁盘读取 评价 SATA SSD 7000-10000 MB/s 450-550 MB/s 正常 NVMe PCIe 3.0 7000-10000 MB/s 1500-3500 MB/s 良好 NVMe PCIe 4.0 7000-10000 MB/s 3500-7000 MB/s 优秀
结果分析要点 # 示例结果分析: # Timing cached reads: 18324 MB in 2.00 seconds = 9162.00 MB/sec # ↑ 这个值反映内存和CPU性能,正常在7000-10000 MB/s # 如果低于5000 MB/s,可能是系统负载高或内存问题 # Timing buffered disk reads: 2450 MB in 3.00 seconds = 816.67 MB/sec # ↑ 这个值是实际硬盘速度,需要对比上面标准 5. 异常情况排查 速度过慢的可能原因 # 1. 检查硬盘模式 sudo hdparm /dev/sda# 查看输出的 "drive state" 和 "enabled" 部分 # 2. 检查DMA是否启用 sudo hdparm -d /dev/sda# 显示 "using_dma = 1" 表示启用 # 3. 启用DMA(如果被禁用) sudo hdparm -d1 /dev/sda# 4. 检查AHCI模式 sudo dmesg | grep -i ahci性能优化设置 # 启用写缓存(提高写入性能) sudo hdparm -W1 /dev/sda# 启用高级电源管理(笔记本省电) sudo hdparm -B127 /dev/sda# 1-127,值越高性能越好 # 设置高级电源模式 sudo hdparm -S180 /dev/sda# 180=15分钟休眠 6. 自动化测试脚本 #!/bin/bash # save as test_hdd.sh DEVICE = "/dev/sda" echo "=== 硬盘性能测试 ===" echo "设备:$DEVICE " echo "时间:$( date ) " echo "" # 1. 硬盘信息 echo "【硬盘信息】" sudo hdparm -i$DEVICE | grep -E"Model|SerialNo|FwRev" echo "" # 2. 基础测试 echo "【基础性能测试】" sudo hdparm -Tt$DEVICE echo "" # 3. 不同块大小测试 echo "【不同块大小测试】" for bs in 4 8 16 32 64 128 256 512 1024 ; do echo -n"块大小${bs} KB: " sudo hdparm -t --direct --blocksize= $bs $DEVICE 2 > /dev/null| \ grep "reads" | awk -F'=' '{print $2}' done echo "" # 4. 健康状态(需要smartctl) if command -v smartctl&> /dev/null; then echo "【健康状态】" sudo smartctl -H$DEVICE | grep "test result" fi 7. 测试注意事项 确保准确测试 # 1. 关闭所有程序 # 2. 清空缓存(测试前) sync echo 3 | sudo tee /proc/sys/vm/drop_caches# 3. 多次测试取平均 for i in { 1 .. 5 } ; do echo "测试$i :" sudo hdparm -Tt /dev/sdaecho "---" done # 4. 监控系统负载 top -d1 -b| grep -i"load average" 对比测试工具 # 结合其他工具验证 sudo hdparm -Tt /dev/sdaecho "---" sudo dd if = /dev/zeroof = /tmp/testbs = 1Gcount = 1 oflag = direct2 >&1 | tail -18. 结果记录模板 测试日期: __________ 硬盘型号: __________ 接口类型: [ ] SATA [ ] NVMe [ ] USB 预期用途: [ ] 系统盘 [ ] 数据盘 [ ] 备份盘 测试结果: 1. 缓存读取: __________ MB/s 2. 磁盘读取: __________ MB/s 评价: [ ] 优秀 - 达到或超过同类产品标准 [ ] 良好 - 接近同类产品标准 [ ] 一般 - 低于标准10-20% [ ] 较差 - 需要检查硬件或设置 优化建议: □ 启用DMA模式 □ 更新固件/驱动 □ 检查线缆/接口 □ 考虑更换硬盘💡 重要提醒 测试结果只是参考 ,实际使用性能可能不同多次测试取平均值 更准确不同硬盘类型 比较标准不同系统负载 会影响测试结果老硬盘 速度下降是正常现象如果测试结果持续低于标准值的70%,建议:
检查硬盘健康度:sudo smartctl -a /dev/sda 检查数据线/电源线 尝试不同SATA接口 备份重要数据,考虑更换硬盘