如何在 Ubuntu Linux 中查看和启用 PCIe NVMe Samsung SSD 950Pro 中的写入缓存?

如何在 Ubuntu Linux 中查看和启用 PCIe NVMe Samsung SSD 950Pro 中的写入缓存?

如何在 Ubuntu 中查看和启用 M.2 PCIe NVMe Samsung SSD 950Pro 中的写入缓存?

目前,我新安装的 Ubuntu 20.04 LTS 的写入速度非常非常差。同样的 M.2 NVMe SSD 搭配 Windows 10 操作系统,基准测试结果相当不错。

我正在使用 AMD FX8350 / 32 GB RAM / asus 970 pro gaming aura。

我尝试使用 NVMe-cli 实用程序和三星 DC 工具包

三星 DC 工具包不支持 NVMe 的某些功能。NVMe-CLI 也不支持某些功能。

gnome-disks 工具中的驱动器设置呈灰色

不确定问题是否出在写入缓存还是其他原因。任何帮助都非常感谢

问候,

磁盘

Ubuntu 基准测试Windows 基准测试

答案1

我相信它是默认启用的。你可以检查一下:

cat /sys/block/nvme0n1/queue/write_cache
write back

这可能是最佳设置

通过缓存写入:
当控制器收到主机的写入请求时,它会将数据存储在其缓存模块中,将数据写入磁盘驱动器,然后在写入操作完成时通知主机。此过程称为写入缓存,因为数据在传输到磁盘驱动器的过程中实际上会经过缓存内存并存储在其中。

写回缓存:
这种缓存技术允许控制器在数据到达缓存时立即宣布写入操作“完成”,从而缩短了子系统对写入请求的响应时间。控制器稍后再执行较慢的操作,即在磁盘驱动器上写入数据。


在大多数情况下,nvme ssds 都内置了 500MB 或 1GB 的 ddr 缓存(可能由磁盘固件管理,如果不是,请有人纠正我,因为这可能是问题所在)

您可以通过手动执行来检查 trim 是否按预期工作,sudo fstrim -av并通过复制和粘贴大文件并测量所花费的时间来测试实际写入速度。

但是仍然存在写入速度较慢的情况,而且似乎内核本身以这种方式处理(可能是某些可靠性同步):
Ubuntu 上 SSD 写入速度慢

相关内容