0

0

linux怎么查看当前磁盘IO写速度_linux使用dd测试【攻略】

冰火之心

冰火之心

发布时间:2026-03-17 19:49:01

|

326人浏览过

|

来源于php中文网

原创

用 dd 测真实写速度需加 oflag=direct 绕过页缓存,命令示例:time dd if=/dev/zero of=/mnt/testfile bs=1M count=2048 oflag=direct;避免写入内存盘、小块测试及未清理缓存等误操作。

linux怎么查看当前磁盘io写速度_linux使用dd测试【攻略】

怎么用 dd 测真实写速度,而不是缓存假象

直接测出的“写速”经常虚高,因为 Linux 默认把数据先扔进页缓存(page cache),dd 报的其实是内存拷贝速度。要看到磁盘真实吞吐,必须绕过缓存。

  • oflag=direct:强制直写磁盘,跳过内核缓冲区(推荐首选)
  • 或用 conv=fdatasync / oflag=dsync:让每次写都等数据真正落盘再返回(更严格,但更慢,适合测延迟敏感场景)
  • 别只跑一次:缓存干扰、预热、文件系统元数据开销都会影响结果,建议至少重复 2–3 次取稳定值
  • 测试文件路径选目标盘:比如想测 /dev/sdb,就写到挂载在它上面的目录(如 /mnt/data/test),别写在 /tmp(常是 tmpfs 内存盘)

dd 写速命令怎么写才靠谱

下面这条是兼顾可读性、真实性、通用性的最小可靠命令:

time dd if=/dev/zero of=/mnt/testfile bs=1M count=2048 oflag=direct
  • if=/dev/zero:不产生 IO,纯测写通路
  • bs=1M:块大小设大些(1M 是 SSD/HDD 都较友好的起点),太小(如 4k)会放大元数据和调度开销
  • count=2048 → 写 2GB:足够长以摊平启动抖动,又不会耗太久
  • oflag=direct:关键!没它基本白测
  • 别用 conv=notruncseek 来“追加”,那会引入 seek 时间,不再是纯顺序写

为什么 dd 测出来的数字和 hdparm -t 差很多

不是谁错了,是测的根本不是一回事:

Post AI
Post AI

博客文章AI生成器

下载
  • hdparm -t 测的是「缓存读」+「物理盘读」两段:前者快得离谱(如 3GB/s),后者才是盘的真实读带宽(常 100–500MB/s)
  • dd if=/dev/zero of=... oflag=direct 测的是「应用层发起→文件系统→驱动→磁盘」全链路顺序写能力
  • dd if=testfile of=/dev/null iflag=direct 才对应 hdparm 的物理读部分;而 iflag=direct 同样不能少,否则读的是 page cache
  • SSD 上 dd 可能比 hdparm 物理读还快——说明文件系统或驱动做了优化(如合并、预取),这反而是好现象

常见误操作和对应现象

这些坑踩一个,结果就不可信:

  • 漏掉 oflag=direct → 报出 2GB/s,实际硬盘只有 300MB/s:那是内存速度,不是磁盘
  • 写到 /tmp(默认是内存 tmpfs)→ 速度爆表且毫无意义
  • bs=4k count=1000000 测“IOPS” → dd 不是随机 IO 工具,这样只是大量小顺序写,结果偏高且不反映真实随机负载
  • 测试中途有其他进程刷盘(如日志、备份)→ 速度跳变、波动大,应清空后台任务或在低峰期测
  • 没删测试文件就重跑 → 文件系统可能复用旧 block,跳过擦除(尤其 SSD),导致第二次更快

真实磁盘 IO 不是单个数字能概括的,dd 只能告诉你“大块顺序写有多快”。如果业务是数据库或小文件服务,下一步该上 fio ——但那是另一个问题了。

热门游戏推荐
热门游戏推荐

海量精品小游戏合集,无需安装即点即玩,休闲益智、动作闯关应有尽有,秒开即玩,轻松解压,快乐停不下来

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

255

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

1154

2024.03.01

if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

847

2023.08.22

counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

203

2023.11.20

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

391

2023.06.29

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2113

2023.08.14

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

359

2023.08.31

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

259

2023.09.05

抖漫入口地址合集
抖漫入口地址合集

本专题整合了抖漫入口地址相关合集,阅读专题下面的文章了解更多详细地址。

17

2026.03.17

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号