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 硬盘的支持有限,建议结合其他工具使用。

相关推荐
技术小齐1 小时前
网络运维学习笔记 016网工初级(HCIA-Datacom与CCNA-EI)PPP点对点协议和PPPoE以太网上的点对点协议(此处只讲华为)
运维·网络·学习
ITPUB-微风1 小时前
Service Mesh在爱奇艺的落地实践:架构、运维与扩展
运维·架构·service_mesh
落幕1 小时前
C语言-进程
linux·运维·服务器
chenbin5202 小时前
Jenkins 自动构建Job
运维·jenkins
java 凯2 小时前
Jenkins插件管理切换国内源地址
运维·jenkins
AI服务老曹2 小时前
运用先进的智能算法和优化模型,进行科学合理调度的智慧园区开源了
运维·人工智能·安全·开源·音视频
sszdzq3 小时前
Docker
运维·docker·容器
book01213 小时前
MySql数据库运维学习笔记
运维·数据库·mysql
bugtraq20214 小时前
XiaoMi Mi5(gemini) 刷入Ubuntu Touch 16.04——安卓手机刷入Linux
linux·运维·ubuntu
xmweisi4 小时前
【华为】报文统计的技术NetStream
运维·服务器·网络·华为认证