Ubuntu硬盘性能测试工具推荐

📊 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 --offset 0 /dev/sda    # 起始位置
sudo hdparm -t --offset 50% /dev/sda  # 中间位置
sudo hdparm -t --offset 90% /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 RPM7000-10000 MB/s80-120 MB/s正常
7200 RPM7000-10000 MB/s120-180 MB/s良好
10000 RPM7000-10000 MB/s180-220 MB/s优秀

固态硬盘(SSD)参考值

接口类型缓存读取磁盘读取评价
SATA SSD7000-10000 MB/s450-550 MB/s正常
NVMe PCIe 3.07000-10000 MB/s1500-3500 MB/s良好
NVMe PCIe 4.07000-10000 MB/s3500-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 -B 127 /dev/sda  # 1-127,值越高性能越好

# 设置高级电源模式
sudo hdparm -S 180 /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/sda
    echo "---"
done

# 4. 监控系统负载
top -d 1 -b | grep -i "load average"

对比测试工具

# 结合其他工具验证
sudo hdparm -Tt /dev/sda
echo "---"
sudo dd if=/dev/zero of=/tmp/test bs=1G count=1 oflag=direct 2>&1 | tail -1

8. 结果记录模板

测试日期: __________
硬盘型号: __________
接口类型: [ ] SATA  [ ] NVMe  [ ] USB
预期用途: [ ] 系统盘 [ ] 数据盘 [ ] 备份盘

测试结果:
1. 缓存读取: __________ MB/s
2. 磁盘读取: __________ MB/s

评价:
[ ] 优秀 - 达到或超过同类产品标准
[ ] 良好 - 接近同类产品标准
[ ] 一般 - 低于标准10-20%
[ ] 较差 - 需要检查硬件或设置

优化建议:
□ 启用DMA模式
□ 更新固件/驱动
□ 检查线缆/接口
□ 考虑更换硬盘

💡 重要提醒

  1. 测试结果只是参考,实际使用性能可能不同
  2. 多次测试取平均值更准确
  3. 不同硬盘类型比较标准不同
  4. 系统负载会影响测试结果
  5. 老硬盘速度下降是正常现象

如果测试结果持续低于标准值的70%,建议:

  1. 检查硬盘健康度:sudo smartctl -a /dev/sda
  2. 检查数据线/电源线
  3. 尝试不同SATA接口
  4. 备份重要数据,考虑更换硬盘
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值