hdparm 功能解析

hdparm 是一个 Linux 系统工具,用于管理和调整硬盘的性能参数。它可以查看或修改硬盘驱动器的参数设置,测试硬盘性能,以及诊断硬盘问题。


1. 基本用法

语法
复制代码
hdparm [选项] [设备文件]
  • 设备文件 :通常是硬盘的设备节点,例如 /dev/sda/dev/nvme0n1

2. 常用选项

信息查看
  • 查看硬盘基本信息

    复制代码
    hdparm -I /dev/sda

    显示详细的硬盘特性和参数,包括支持的模式、容量等。

  • 查看硬盘当前设置

    复制代码
    hdparm /dev/sda

    列出硬盘当前的设置,例如 DMA、I/O 支持等。

性能测试
  • 读取缓存性能测试

    复制代码
    hdparm -T /dev/sda

    测试硬盘缓存的读取速度。

  • 直接读取性能测试

    复制代码
    hdparm -t /dev/sda

    测试硬盘直接读取数据的速度。

设置调整
  • 启用 DMA 模式

    复制代码
    hdparm -d1 /dev/sda

    开启硬盘的 DMA(Direct Memory Access)功能,可以提升硬盘性能。

  • 设置硬盘待机时间

    复制代码
    hdparm -S 12 /dev/sda

    设置硬盘的待机时间。数字 12 代表硬盘闲置一分钟后进入待机模式。

  • 启用硬盘电源管理

    复制代码
    hdparm -B 127 /dev/sda

    设置硬盘的电源管理等级,值范围为 1-255,值越低表示更节能但性能较低。

高级操作
  • 启用写缓存

    复制代码
    hdparm -W1 /dev/sda

    启用硬盘写缓存功能,提升写入性能。

  • 安全擦除数据

    复制代码
    hdparm --security-erase NULL /dev/sda

    对硬盘进行快速安全擦除,注意操作会清除硬盘上所有数据。


3. 注意事项

  1. 权限

    • hdparm 通常需要以超级用户(root)权限运行。
  2. 谨慎操作

    • 某些选项(如启用或禁用写缓存、调整电源管理)可能会影响数据安全和硬盘寿命,使用前需了解其影响。
  3. 现代硬盘的兼容性

    • 对于 NVMe 硬盘或 SSD,部分选项可能不起作用。建议使用专门的 NVMe 管理工具(如 nvme-cli)。

4. 示例

示例 1:查看硬盘信息
复制代码
sudo hdparm -I /dev/sda

输出硬盘的详细参数,包括型号、支持的功能(如 SMART、DMA 等)。

示例 2:测试硬盘性能
复制代码
sudo hdparm -Tt /dev/sda

返回缓存读取速度和直接读取速度,单位为 MB/s。

示例 3:启用 DMA
复制代码
sudo hdparm -d1 /dev/sda

如果硬盘支持 DMA 模式,启用后可以提高数据传输速度。

示例 4:设置硬盘电源管理
复制代码
sudo hdparm -B 128 /dev/sda

设置硬盘电源管理模式,128 表示性能和节能的平衡状态。

示例 5:安全擦除硬盘
复制代码
sudo hdparm --security-set-pass mypassword /dev/sda
sudo hdparm --security-erase mypassword /dev/sda

通过设置密码 mypassword 后执行安全擦除。


5. 总结

hdparm 是管理和优化传统机械硬盘以及部分 SSD 的强大工具,可用于测试性能、调整参数和执行高级操作。但在现代系统中,对 SSD 和 NVMe 硬盘的支持有限,建议结合其他工具使用。

相关推荐
H1346948908 分钟前
华为服务器系统备份,想要备份华为服务器系统可以怎么操作?
运维·服务器·负载均衡
杰克崔25 分钟前
分析sys高问题的方法总结
linux·运维·服务器
WSSWWWSSW25 分钟前
安装nfs客户端(centos)
linux·运维·centos
深蓝易网26 分钟前
为什么制造企业需要用MES管理系统升级改造车间
大数据·运维·人工智能·制造·devops
欧先生^_^1 小时前
docker的文件系统Overlay2
运维·docker·容器
一只小白跳起来1 小时前
重新安装VMware tools为灰色无法点击问题解决|读取电脑文件的共享文件夹方法
运维·ubuntu·vmware
长河1 小时前
Kafka系列教程 - Kafka 运维 -8
运维·分布式·kafka
刘若水2 小时前
Linux: 进程信号初识
linux·运维·服务器
阳小江3 小时前
Docker知识点
运维·docker·容器
只是橘色仍温柔4 小时前
xshell可以ssh连接,但vscode不行
运维·vscode·ssh