设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
快捷导航
发布信息
搜索
搜索
首页
优惠促销
云服务器
独立服务器
站群服务器
母鸡服务器
服务器托管
全球云服务器
技术文档
联系
每日签到
本版
文章
帖子
用户
主机测评网
»
论坛
›
技术文档
›
其他教程
›
Linux系统如何测试硬盘读写性能
返回列表
发新帖
Linux系统如何测试硬盘读写性能
[复制链接]
|
主动推送
133
|
0
|
2024-9-11 18:09:44
|
显示全部楼层
|
阅读模式
Linux下可使用dd命令来测试硬盘读写速度一、语法简介
dd if=path/to/input_file of=/path/to/output_file bs=block_size count=number_of_blocks
参数
if=file 输入文件名,缺省为标准输入of=file 输出文件名,缺省为标准输出ibs=bytes 一次读入 bytes 个字节(即一个块大小为 bytes 个字节)obs=bytes 一次写 bytes 个字节(即一个块大小为 bytes 个字节)bs=bytes 同时设置读写块的大小为 bytes ,可代替 ibs 和 obscbs=bytes 一次转换 bytes 个字节,即转换缓冲区大小skip=blocks 从输入文件开头跳过 blocks 个块后再开始复制seek=blocks 从输出文件开头跳过 blocks 个块后再开始复制(通常只有当输出文件是磁盘或磁带时才有效)count=blocks 仅拷贝 blocks 个块,块大小等于 ibs 指定的字节数conv=conversion[,conversion...] 用指定的参数转换文件。iflag=FLAGS 指定读的方式FLAGS,参见“FLAGS参数说明”oflag=FLAGS 指定写的方式FLAGS,参见“FLAGS参数说明”#conv 转换参数:ascii 转换 EBCDIC 为 ASCIIebcdic 转换 ASCII 为 EBCDICibm 转换 ASCII 为 alternate EBCDICblock 把每一行转换为长度为 cbs 的记录,不足部分用空格填充unblock 使每一行的长度都为 cbs ,不足部分用空格填充lcase 把大写字符转换为小写字符ucase 把小写字符转换为大写字符swab 交换输入的每对字节noerror 出错时不停止notrunc 不截短输出文件。sync 把每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐
FLAGS 参数说明:
append -append mode (makes sense only for output; conv=notrunc sug-gested)direct 读写数据采用直接IO方式directory 读写失败除非是directorydsync 读写数据采用同步IOsync 同上,但是针对是元数据fullblock 堆积满block(accumulate full blocks of input )(iflag only)nonblock 读写数据采用非阻塞IO方式noatime 读写数据不更新访问时间二、time+dd 测磁盘读写速度1、相关参数time有计时作用,dd用于复制,从if读出,写到ofif=/dev/zero(产生字符)不产生IO,因此可以用来测试纯写速度同理of=/dev/null(回收站、无底洞)不产生IO,可以用来测试纯读速度将/tmp/test拷贝到/var则同时测试了读写速度bs是每次读或写的大小,即一个块的大小,count是读写块的数量
当写入到驱动盘的时候,我们简单的从无穷无用字节的源 /dev/zero 读取,当从驱动盘读取的时候,我们读取的是刚才的文件,并把输出结果发送到无用的 /dev/null。在整个操作过程中, DD 命令会跟踪数据传输的速度并且报告出结果。2、测试磁盘写能力
time dd if=/dev/zero of=/testw.dbf bs=4k count=100000
因为/dev//zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。命令结尾添加oflag=direct将跳过内存缓存,添加oflag=sync将跳过hdd缓存。3、测试磁盘读能力
time dd if=/dev/sdb of=/dev/null bs=4k
因为/dev/sdb是一个物理分区,对它的读取会产生IO,/dev/null是伪设备,相当于黑洞,of到该设备不会产生IO,所以,这个命令的IO只发生在/dev/sdb上,也相当于测试磁盘的读能力。(Ctrl+c终止测试)4、测试同时读写能力
time dd if=/dev/sdb of=/testrw.dbf bs=4k
在这个命令下,一个是物理分区,一个是实际的文件,对它们的读写都会产生IO(对/dev/sdb是读,对/testrw.dbf是写),假设它们都在一个磁盘中,这个命令就相当于测试磁盘的同时读写能力。5、测试纯写入性能
dd if=/dev/zero of=test bs=8k count=10000 oflag=direct6、测试纯读取性能
dd if=test of=/dev/null bs=8k count=10000 iflag=direct
注意:dd 只能提供一个大概的测试结果,而且是连续 I/O 而不是随机 I/O,理论上文件规模越大,测试结果越准确。
同时,iflag/oflag 提供 direct 模式,direct 模式是把写入请求直接封装成 I/O 指令发到磁盘,非 direct 模式只是把数据写入到系统缓存就认为 I/O 成功,并由操作系统决定缓存中的数据什么时候被写入磁盘。
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
综合其他发布
风来时狂放
128
主题
0
回帖
10
积分
新手上路
新手上路, 积分 10, 距离下一级还需 40 积分
新手上路, 积分 10, 距离下一级还需 40 积分
积分
10
加好友
发消息
回复楼主
返回列表
网络技术教程
软件使用教程
Windows教程
Centos教程
Ubuntu教程
Linux其他教程
综合教程
其他教程
其他文档
服务器商家推荐
华夏互联
蓝速云
米图云
全球云
文章
1
苹果电脑MAC系统登录Windows远程桌面
2
Debian拓展硬盘工具。cloud-utils-growpart、xfsprogs
3
安卓Android手机怎么使用V2rayNG?
4
WINDOWS系统电脑怎么使用WINXRAY?
5
notepad++.8.5.7编辑器,代码编辑器
6
DirectX修复工具增强版_V4.3.0.40864版本DLL修复工具C++安装
7
Visual C++运行库合集包完整版VisualCppRedist_AIO_x86_x64
8
ChromeSetup谷歌浏览器一键安装