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

相关推荐
空中楼阁,梦幻泡影18 小时前
LoRA 详细解析,使用LoRA 方式对模型进行微调详细操作指南
运维·服务器·人工智能·机器学习·语言模型
晚风吹长发19 小时前
初步了解Linux中的动静态库及其制作和使用
linux·运维·服务器·数据结构·c++·后端·算法
Le_ee19 小时前
dc4打靶报告
运维·服务器·网络
yeflx20 小时前
解决Ubuntu22.04宿主机docker容器中nvidia-smi偶发失效问题
运维·docker·容器
4t4run20 小时前
28、Linux 系统定时任务
linux·运维·服务器
~黄夫人~20 小时前
Ansible 自动化运维:从 “手动输密码” 到 “一键免密管理”
linux·运维·自动化·ansible
cui__OaO20 小时前
Linux驱动--基于驱动设备分离的按键中断驱动
linux·运维·服务器·嵌入式
littlegirll20 小时前
ssh远程调用图形程序
运维·ssh·x11forwarding·远程调用图形界面
OnlyEasyCode21 小时前
Linux下载Navicat、特定版本Mysql
linux·运维·服务器
宇宙帅猴21 小时前
【Ubuntu踩坑及解决方案(一)】
linux·运维·ubuntu·go