SSD 写入速度周期性下降至 20 MB/秒

SSD 写入速度周期性下降至 20 MB/秒

昨天之前,我的 SSD 写入速度非常慢。我的主要 SSD 容量为 1.7 TB。我还有另一个 SSD,但容量较小,为 960 GB。我决定从实时 Linux 操作系统测试这两个 SSD 的写入速度。我使用以下命令测试了写入速度:

dd if=/dev/zero of=test.img bs=1G count=1 oflag=dsync

我也尝试了这些命令来获得某些结果:

dd if=/dev/zero of=test.img bs=1G count=1 oflag=direct
dd if=/dev/zero of=test.img bs=1M count=1024 conv=fdatasync,notrunc

经过测试,我发现主 SSD 的写入速度约为 10 MB/秒。这与预期的 400+ MB/秒相差甚远。第二个 SSD 的写入速度正常,约为 450 MB/秒。我还测试了两个驱动器的读取速度,它们都正常,约为 550 MB/秒。使用以下命令测试读取速度:

hdparm -t /dev/sdX

这意味着操作系统设置不是问题,因为该问题在实时操作系统上也仍然存在。

因此,我发现问题可能出在磁盘上没有足够的可用空间或未激活 TRIM 命令。这听起来很认真,因为我的磁盘上实际上没有太多空间,从最初的 1.7 TB 只剩下大约 50 GB。所以我决定擦除磁盘。我使用本手册清除了 SSD 上的内存单元:https://wiki.archlinux.org/title/Solid_state_drive/Memory_cell_clearing 然后我安装了新的操作系统,它有所帮助。速度变成了大约 330 MB/秒。它仍然没有达到预期的 450 MB/秒,但比以前好多了。所以我认为问题已经解决了。

但今天我又遇到了这个问题,但不那么明显了。新的问题是写入速度仍然会下降到大约 30 MB/秒,但不是一直下降,而是周期性下降。我使用了一个命令,该命令将 1 GB 写入磁盘而不进行缓存 10 次,每次写入之间间隔 1 秒,以向您展示一个问题:

[user@host ~]$ for _ in {1..10}; do dd if=/dev/zero of=test.img bs=1M count=1024 conv=fdatasync,notrunc; sleep 1; done
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.58924 s, 415 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 27.303 s, 39.3 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 36.224 s, 29.6 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.59268 s, 414 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.57213 s, 417 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.57715 s, 417 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 45.9079 s, 23.4 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 14.8719 s, 72.2 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.58006 s, 416 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.58301 s, 416 MB/s

您可以看到写入速度有时会下降到 20 MB/秒。我测试时没有启动任何程序(仅启动 XFCE 桌面),因此没有其他写入磁盘(我认为)。当我通常使用启动许多程序的计算机时,情况可能会更糟。我还在测试时监控了系统加载,没有 CPU 或内存加载,只是为了注意。

顺便说一句,我曾经使用过全盘加密(LUKS),但我也在未加密分区(ext4)上测试了速度,结果是一样的。

我的分区方案:

NAME           MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINTS
sda              8:0    0  1.7T  0 disk  
├─sda1           8:1    0  256M  0 part  
├─sda2           8:2    0   50G  0 part  
│ └─cryptroot  254:0    0   50G  0 crypt /
├─sda3           8:3    0  768G  0 part  
└─sda4           8:4    0    5G  0 part  /mnt

超过一半的磁盘空间是空闲的。

您知道可能存在什么问题吗?

相关内容