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

相关推荐
七夜zippoe9 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
Fcy64811 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满11 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠11 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Harvey90311 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
珠海西格电力科技12 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
释怀不想释怀13 小时前
Linux环境变量
linux·运维·服务器
zzzsde13 小时前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器
聆风吟º14 小时前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann
NPE~15 小时前
自动化工具Drissonpage 保姆级教程(含xpath语法)
运维·后端·爬虫·自动化·网络爬虫·xpath·浏览器自动化