在 Linux 系统中,有多种命令可以用于查看磁盘的读写速度,以下是几种常用的方法及其详细步骤:
dd 命令
dd
命令用于复制文件或设备,并可以通过指定块大小和传输次数来测试磁盘的读写速度。
写入速度测试
dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct
if=/dev/zero
:表示输入文件为零填充。
of=testfile
:表示输出文件名。
bs=1G
:表示每次读写的块大小为 1GB。
count=1
:表示只进行一次读写操作。
oflag=direct
:使用直接 I/O 模式。
读取速度测试
dd if=testfile of=/dev/null bs=1G count=1 iflag=direct
if=testfile
:表示输入文件名为 testfile。
of=/dev/null
:表示输出到空设备。
bs=1G
:表示每次读写的块大小为 1GB。
count=1
:表示只进行一次读写操作。
iflag=direct
:使用直接 I/O 模式。
hdparm 命令
hdparm
是一个硬盘工具,可用于评估硬盘的性能和控制硬盘的参数设置。
测试读取速度
sudo hdparm -Tt /dev/sda
-Tt
:显示缓存读取速度和不带缓存的读取速度。
/dev/sda
:要查看的硬盘设备名称。
fio 命令
fio
是一个灵活的 I/O 性能测试工具,它使用多线程进行测试,可以测试硬盘的读写速度、IOPS 和延迟等不同指标。
顺序读写速度测试
fio --name=4k-seq-read-write --rw=readwrite --bs=4k --size=1G --ioengine=psync --iodepth=1 --numjobs=1 --time_based --filename=/data1/testfile --runtime=30
--name
:给当前的 fio 作业命名。
--rw
:指定读写模式,readwrite
表示读写。
--bs
:设置块大小为 4KB。
--size
:设置测试文件的大小,这里设置为 1GB。
--numjobs
:设置并发进程数,这里设置为 1。
--iodepth
:设置 I/O 深度,即同时发出的 I/O 数。
--ioengine
:设置 I/O 引擎,这里使用 psync(POSIX 同步 I/O)。
--filename
:指定要测试的设备或文件。
--runtime
:设置测试运行时间为 30 秒。
随机读写速度测试
随机写入 fio --name=randwrite --rw=randwrite --bs=4k --size=1G --numjobs=1 --iodepth=1 --randrepeat=0 --ioengine=libaio --direct=1 --filename=/data1/testfile 随机读取 fio --name=randread --rw=randread --bs=4k --size=1G --numjobs=1 --iodepth=1 --randrepeat=0 --ioengine=libaio --direct=1 --filename=/data1/testfile
iostat 命令
iostat
命令用于监视系统的 I/O 活动情况,可以查看磁盘的读写速度和其他相关信息。
sudo iostat -d /dev/sda
-d
:表示显示磁盘的信息。
/dev/sda
:要查看的硬盘设备名称。
iotop 命令
iotop
命令可以实时监控系统中的 I/O 操作,包括磁盘读写、网络传输等。
sudo iotop -o -b -n 5 -d 1 -p ALL -u ALL
-o
:只显示有 I/O 操作的进程。
-b
:批量显示,无交互,主要用作记录到文件。
-n 5
:显示 5 次。
-d 1
:间隔 1 秒显示一次。
-p ALL
:监控所有进程。
-u ALL
:监控所有用户。
Linux 提供了多种命令来查看磁盘的读写速度,每种命令都有其独特的优点和适用场景,用户可以根据自己的需求选择合适的命令来测试磁盘性能。
小伙伴们,上文介绍linux查看磁盘速度的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/84699.html