我首先安装了 Windows,并在三星 950 Pro 上运行了基准测试,结果显示读取速度为 2700 MBps。我这样做是为了确认主板可以在启动设备上使用带有 NVME 的完整 x4 通道。
在 ubuntu 中,我看到写入速度为 170-200MBps。
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial
然后我重新安装了 Ubuntu,并使用它进行了测试技术。结果如下:
$ sudo hdparm -Tt /dev/nvme0n1
/dev/nvme0n1:
Timing cached reads: 23880 MB in 2.00 seconds = 11951.14 MB/sec
Timing buffered disk reads: 5194 MB in 3.00 seconds = 1731.18 MB/sec
这是 lspci:
$ lspci -vv -s 02:00.0
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller (rev 01) (prog-if 02 [NVM Express])
Subsystem: Samsung Electronics Co Ltd NVMe SSD Controller
Physical Slot: 2-1
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 39
Region 0: Memory at fb210000 (64-bit, non-prefetchable) [size=16K]
Region 2: I/O ports at e000 [size=256]
Expansion ROM at fb200000 [disabled] [size=64K]
Capabilities: <access denied>
Kernel driver in use: nvme
Kernel modules: nvme
我进行了一些搜索并找到了一个相关问题这里没有答案。另一篇文章,这里,有类似问题,但没有解决方案。
有没有什么故障排除的技巧?
谢谢!
编辑:澄清一下,Windows 上的写入速度也非常快,远高于 1500MBps
答案1
嗯,你这里提供的数字远大于 170-200MB/s。然而它们是错误的。
为了绕过页面缓存,使读取直接从驱动器进入 hdparm 的缓冲区(即“原始” I/O),您需要在 hdparm 中使用 --direct 参数。即:
$ sudo hdparm -Tt --direct /dev/nvme0n1
这样,您的结果会较低但接近实际磁盘的性能。
答案2
尝试命令行(您可能需要sudo apt install fio
先尝试):
fio --name TEST --eta-newline=5s --filename=fio-tempfile.dat --rw=read --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=4 --runtime=60 --group_reporting
有关更多详细信息,请参阅: https://askubuntu.com/a/991311/50254