在Linux系統中也有很多命令可以測試硬盤的讀寫速度指標。以下是幾個常用命令(注意:在執行測試命令之前,請務必備份數據以避免數據丟失!
1、dd 命令
首先掛載磁盤
mount /dev/sdb /test
dd 命令可用于進行硬盤讀寫速度測試。
例如:進行硬盤寫入速度測試,可以將硬盤的/dev/sdb分區寫滿1G的數據,并輸出寫入速度:
dd if=/dev/zero of=/test/testfile bs=1G count=1 oflag=direct
進行硬盤讀取速度測試,可以從硬盤的/dev/sdb分區讀取1G的數據,并輸出讀取速度:
dd if=/test/testfile of=/dev/null bs=1G count=1 iflag=direct
dd命令寫入硬盤數據
2、 hdparm 命令
hdparm 命令是一個硬盤工具,可用于評估硬盤的性能和控制硬盤的參數設置。
例如,可以使用以下命令測試硬盤的讀取速度:
hdparm -Tt /dev/sdb
上述命令會顯示硬盤的緩存讀取速度 (Cached Read Speed) 和不帶緩存的讀取速度 (Buffered Disk Read Speed)。
3、 fio 命令
fio 是一個靈活的 I/O 性能測試工具,它使用多線程進行測試,可以測試硬盤的讀寫速度、IOPS 和延遲等不同指標。
例如,可以使用以下命令測試硬盤的順序讀取速度:
fio --name=read --ioengine=libaio --iodepth=64 --rw=read --bs=4k --direct=1 --size=1G --numjobs=1 --runtime=60 --time_based
以下命令測試硬盤的隨機讀取速度:
fio --name=randread --ioengine=libaio --iodepth=32 --rw=randread --bs=4k --numjobs=1 --size=256M --runtime=60 --time_based --group_reporting
參數說明:
name=randread:指定測試作業的名稱為randread
ioengine=libaio:指定使用libaio作為IO引擎
iodepth=32:指定IO深度,即同時進行的IO操作數量
rw=randread:指定測試讀取數據的方式為隨機讀取
bs=4k:測試中每個IO塊的大小為4KB
numjobs=1:指定同時執行的作業數,這里是1個
size=256M:指定測試數據的大小為256MB
runtime=60:測試運行的時間為60秒
time_based:以時間為基礎的測試
group_reporting:指定報告輸出格式為分組的,便于閱讀結果。
fio將測試結果輸出到標準輸出,通常可以使用“>`或者“>>”來將測試結果保存到文件中,例如:
fio … > result.log
測試可能需要一些時間,具體時間與測試的數據量、硬盤類型、CPU、內存等條件有關。