dd命令测试linux磁盘io情况,dd命令:做硬盘IO性能测试
一、dd復制轉換
1.dd:convert and copy a file 文件轉換和復制,復制操作底層(塊)
DESCRIPTION:Copy a file, converting and formatting according to the operands.
2.用法:dd? [OPTION] if=/PATH/FROM/SRC? of=/PATH/TO/DEST
if= :其后面路徑是源目標路徑
of= :其后是將要復制到的位置,目標路徑
[OPTION]
bs=#:block size, 復制單元大小,一次復制多大,默認單位為字節(jié);
count=#:復制多少個bs;
3.磁盤拷貝:dd? if=/dev/sda? of=/dev/sdb
4.MBR備份和損壞
備份MBR:dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1
破壞MBR分區(qū)表:dd if=/dev/zero of=/dev/sda bs=512 count=1
破壞MBR中的bootloader:dd if=/dev/zero of=/dev/sda bs=256 count=1
前446字節(jié)是bootloader所占空間大小,故損壞部分就會導致整個損壞
5.兩個特殊設備:/dev/zero 、/dev/null
/dev/zero:吐零,該設備無窮盡地提供0,(不產(chǎn)生讀磁盤IO)
/dev/null: 數(shù)據(jù)黑洞;類似于回收站
二、dd硬盤IO性能測試
幾種常見的DD命令:區(qū)別在于內(nèi)存中寫緩存的處理方式
dd bs=128k count=10k if=/dev/zero of=test
dd bs=128k count=10k if=/dev/zero of=test; sync
dd bs=128k count=10k if=/dev/zero of=test conv=fdatasync
dd bs=128k count=10k if=/dev/zero of=test oflag=dsync
wKioL1Z1KgGDda7VAABTcGLbp9w514.png
1.dd bs=128k count=10k if=/dev/zero of=test
(1)dd默認方式不包括“同步(sync)”命令,dd命令完成前并沒有讓系統(tǒng)真正把文件寫到磁盤上。
(2)單純地把數(shù)據(jù)讀到內(nèi)存緩沖當中(寫緩存[write cache])
(3)展現(xiàn)的只是讀取速度,直到dd完成后系統(tǒng)才開始真正往磁盤上寫數(shù)據(jù)
實際運行結果:
2.dd bs=128k count=10k if=/dev/zero of=test; sync
(1)同上分號隔開的只是先后兩個獨立的命令
(2)dd命令已經(jīng)把“寫入速度”值顯示在屏幕上了,得不到真正的寫入速度。
實際運行結果:
3.dd bs=128k count=10k if=/dev/zero of=test conv=fdatasync
(1)dd命令執(zhí)行到最后會真正執(zhí)行一次“同步(sync)”操作
(2)得到的是讀取這128M數(shù)據(jù)到內(nèi)存并寫入到磁盤上所需的時間
(3)比較符合實際情況
實際運行結果:
4.dd bs=128k count=10k if=/dev/zero of=test oflag=dsync
(1)dd在執(zhí)行時每次都會進行同步寫入操作
(2)每次讀取128k后就要先把這128k寫入磁盤,然后再讀取下面128k
(3)最慢的一種方式了,基本上沒有用到寫緩存(write cache)
實際運行結果:
第四種方法是最嚴格的,可以模擬數(shù)據(jù)庫的插入操作,所以很慢。
也用來測試vps硬盤性能標準,一般來說測試結果,如果超過10M,對正常建站就無影響,超過50M,就是非常好狀態(tài)。
另外,測試對硬盤有損害。
總結
以上是生活随笔為你收集整理的dd命令测试linux磁盘io情况,dd命令:做硬盘IO性能测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux cd后显示文件,关于linu
- 下一篇: linux启动设置运行级别,Linux的