免责声明:我知道这里有 Raspberry Pi 社区,但我不认为它是特定于 Pi 的,更像是 Raspbian(或 Debian?)、USB HDD 与 NTFS 等。
长话短说:所以,我有一个带有外部 USB 硬盘的 Raspberry Pi 4。那里的读/写速度相当低,最让我惊讶的是读实际上比写慢!那么到底是怎么回事,罪魁祸首又在哪里呢?
详细信息:
- 操作系统
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l GNU/Linux
- 文件系统表:
UUID=1276F80376F7E57F /mnt/usb_hdd ntfs-3g defaults,big_writes,noatime 0 0
- 高清参数测试
pi@raspberrypi:~ $ sudo hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 1496 MB in 2.00 seconds = 747.81 MB/sec
Timing buffered disk reads: 258 MB in 3.01 seconds = 85.60 MB/sec
- 同步读取
pi@raspberrypi:~ $ rsync --progress -hv /mnt/usb_hdd/Share/Downloads/Games/Civ5.iso ~/Civ5.iso
Civ5.iso
2.37G 100% 18.90MB/s 0:01:59 (xfr#1, to-chk=0/1)
sent 2.37G bytes received 35 bytes 19.19M bytes/sec
total size is 2.37G speedup is 1.00
奇怪的是,它开始时约为 70MB/s,但几乎立即下降到约 20,然后在 8 到 25 之间偏离。非常不稳定。
- 同步写入
pi@raspberrypi:~ $ rsync --progress -hv ~/Civ5.iso /mnt/usb_hdd/Share/Downloads/Civ5.iso
Civ5.iso
2.37G 100% 39.15MB/s 0:00:57 (xfr#1, to-chk=0/1)
sent 2.37G bytes received 35 bytes 40.52M bytes/sec
total size is 2.37G speedup is 1.00
该速度也以约 65MB/s 开始,但逐渐减慢至约 35MB/s。至少不像读到的那样随机。
问题
- 两人都没读过和总体写得慢?即使考虑 Pi 和 NTFS - 40MB/s 也有点慢,不是吗?如果是这样-问题出在哪里?
- 为什么读比写慢?为什么读取速度随着时间的推移如此不稳定?
传输过程中 CPU 处于 ~30% 状态,并且内存充足...是“只是 NTFS”吗?
无论如何,我将不胜感激这里的任何帮助。
答案1
回答你的第一个问题,40MB/s 听起来像是 USB 2.0 的瓶颈。 Pi 4 支持 USB 3,但请确保您的 HDD 和电缆是 USB 3。
更新了评论中的信息:
另请注意,您rsync
涉及两个方面:外部硬盘驱动器和您的家所在的地方。要从等式中删除第二部分,请尝试dd
仅进行 HDD 基准测试:
- 涉及文件系统的写入:
sudo dd if=/dev/zero of=/mnt/usb_hdd/blob bs=16M count=100 status=progress oflag=direct
- 从文件系统读取:
sudo dd if=/mnt/usb_hdd/blob of=/dev/null bs=16M count=100 status=progress
- 直接从磁盘读取:
sudo dd if=/dev/sda of=/dev/null bs=16M count=100 status=progress iflag=direct