瑞风轻拂 2018-02-07
你知道你的硬盘在 Linux 下传输有多快吗?不打开电脑的机箱或者机柜,你知道它运行在 SATA I (150 MB/s) 、 SATA II (300 MB/s) 还是 SATA III (6.0Gb/s) 呢?
你能够使用 hdparm
和 dd
命令来检测你的硬盘速度。它为各种硬盘的 ioctls 提供了命令行界面,这是由 Linux 系统的 ATA / IDE / SATA 设备驱动程序子系统所支持的。有些选项只能用最新的内核才能正常工作(请确保安装了最新的内核)。我也推荐使用最新的内核源代码的包含头文件来编译 hdparm
命令。
以 root 管理员权限登录并执行命令:
$ sudo hdparm -tT /dev/sda
或者,
$ sudo hdparm -tT /dev/hda
输出:
/dev/sda: Timing cached reads: 7864 MB in 2.00 seconds = 3935.41 MB/sec Timing buffered disk reads: 204 MB in 3.00 seconds = 67.98 MB/sec
为了检测更精准,这个操作应该重复2-3次 。这显示了无需访问磁盘,直接从 Linux 缓冲区缓存中读取的速度。这个测量实际上是被测系统的处理器、高速缓存和存储器的吞吐量的指标。这是一个 for 循环的例子,连续运行测试 3 次:
for i in 1 2 3; do hdparm -tT /dev/hda; done
这里,
-t
:执行设备读取时序-t
:执行缓存读取时间/dev/sda
:硬盘设备文件要 找出 SATA 硬盘的连接速度 ,请输入:
sudo hdparm -I /dev/sda | grep -i speed
输出:
* Gen1 signaling speed (1.5Gb/s) * Gen2 signaling speed (3.0Gb/s) * Gen3 signaling speed (6.0Gb/s)
以上输出表明我的硬盘可以使用 1.5Gb/s、3.0Gb/s 或 6.0Gb/s 的速度。请注意,您的 BIOS/主板必须支持 SATA-II/III 才行:
$ dmesg | grep -i sata | grep 'link up'
Linux Check IDE SATA SSD Hard Disk Transfer Speed
你使用 dd
命令也可以获取到相应的速度信息:
dd if=/dev/zero of=/tmp/output.img bs=8k count=256k rm /tmp/output.img
输出:
262144+0 records in 262144+0 records out 2147483648 bytes (2.1 GB) copied, 23.6472 seconds, `90.8 MB/s`
下面是 推荐的 dd 命令参数:
dd if=/dev/input.file of=/path/to/output.file bs=block-size count=number-of-blocks oflag=dsync ## GNU dd syntax ## dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync ## OR alternate syntax for GNU/dd ## dd if=/dev/zero of=/tmp/testALT.img bs=1G count=1 conv=fdatasync
这是上面命令的第三个命令的输出结果:
1+0 records in 1+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 4.23889 s, 253 MB/s
您还可以使用位于“系统>管理>磁盘实用程序”菜单中的磁盘实用程序。请注意,在最新版本的 Gnome 中,它简称为“磁盘”。
要测试硬盘的速度:
以上操作的快速视频演示:
https://www.cyberciti.biz/tips/wp-content/uploads/2007/10/disks-performance.mp4
然后,选择 > 只读:
Linux Benchmark Hard Disk Speed
上述选项不会销毁任何数据。
访问“系统>管理>磁盘实用程序菜单>单击性能测试>单击开始读/写性能测试按钮: