Ubuntu 20.04 上的 NVME 性能缓慢

Ubuntu 20.04 上的 NVME 性能缓慢

我想我在这里遗漏了一些东西,也许我需要做一些配置才能让我的硬件在 Linux 下全速运行——这是我的问题。

我最近得到了这个英特尔 NUC 9 Extreme 套件

我添加了 64 GB 的 RAM,因为我想设置 RAID1 驱动器,所以我放了两个三星 970 EVO 1TB M.2 NVME在其中驱动:

由于它们是 PCIe Gen 3 x4 设备, 我原本期望能够从单个驱动器获得接近 3 GB/s 的连续读取速度,从 RAID1 设备获得略低于 6 GB/s 的速度但实际速度让我失望,因为即使在 RAID1 中,我也无法获得超过 2.1 GB/s 的速度。

为了测试存储速度,我使用了dd,如下所示:

$ dd if=/dev/zero of=/path/to/test/64GB bs=1G count=64 && dd if=/dev/zero of=/media/ubuntu/evo/fill-cache bs=1G count=64 && dd if=/path/to/test/64GB of=/dev/null
64+0 record dentro
64+0 record fuori
68719476736 bytes (69 GB, 64 GiB) copied, 43,3462 s, 1,6 GB/s
64+0 record dentro
64+0 record fuori
68719476736 bytes (69 GB, 64 GiB) copied, 49,6182 s, 1,4 GB/s
134217728+0 record dentro
134217728+0 record fuori
68719476736 bytes (69 GB, 64 GiB) copied, 139,781 s, 492 MB/s

我运行这些命令 6-7 次,并连续写入速度低于 1.2 GB/s。连续读取速度始终低于 1.9 GB/s。运行bonnie++我得到了类似的结果。

我进行了测试,分别从运行内核为 5.4 的 Ubuntu 20.04 的外部 USB 驱动器和运行内核为 5.8 的 Fedora 33 安装盘启动该系统,结果相似(Fedora 中的速度甚至更差)。我尝试了 ext4 和 xfs,没有明显的区别。

由于 RAID1 中的结果相同,甚至在我创建条带化 LVM 卷时结果也相同,因此我猜测一定存在某个地方的瓶颈,导致我的硬件无法全速运行。

硬件似乎运行良好,因为当我尝试从运行 Windows 10 的外部 USB 磁盘启动该系统时,我得到了预期的性能:

------------------------------------------------------------------------------
CrystalDiskMark 8.0.0 x64 (C) 2007-2020 hiyohiyo
                                  Crystal Dew World: https://crystalmark.info/
------------------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

[Read]
  SEQ    1MiB (Q=  8, T= 1):  2924.425 MB/s [   2788.9 IOPS] <  2865.38 us>
  SEQ  128KiB (Q= 32, T= 1):  3523.300 MB/s [  26880.6 IOPS] <  1179.77 us>
  RND    4KiB (Q= 32, T=16):  2077.373 MB/s [ 507171.1 IOPS] <  1005.95 us>
  RND    4KiB (Q=  1, T= 1):    53.885 MB/s [  13155.5 IOPS] <    75.87 us>

[Write]
  SEQ    1MiB (Q=  8, T= 1):  2208.972 MB/s [   2106.6 IOPS] <  3788.09 us>
  SEQ  128KiB (Q= 32, T= 1):  2117.792 MB/s [  16157.5 IOPS] <  1978.06 us>
  RND    4KiB (Q= 32, T=16):  1962.843 MB/s [ 479209.7 IOPS] <  1067.32 us>
  RND    4KiB (Q=  1, T= 1):   130.946 MB/s [  31969.2 IOPS] <    31.13 us>

Profile: Default
   Test: 64 GiB (x5) [G: 0% (0/932GiB)]
   Mode: [Admin]
   Time: Measure 5 sec / Interval 5 sec 
   Date: 2020/12/15 10:18:14
     OS: Windows 10 Professional [10.0 Build 18363] (x64)

我的设备也运行着最新的固件。

我是否应该在我的 Linux 系统上做一些特殊的事情来实现这些速度?

更新

有人建议我我的基准方法dd可能是错误的,并尝试 Gnome Disks 的基准测试功能。

我尝试过,读取速度更接近规格,所以我做错了。不过,写入速度只有我在 Windows 上使用 CrystalDiskMark 看到的 1/4,所以我仍然感到困惑。

Gnome 磁盘基准测试

相关内容