ZCU102挂载NVMe SSD读写速度测试
上一篇进行了ZCU102基于Petalinux挂载NVMe SSD相关设置。在此基础上我们来进行SSD读写速度的测试。
启动petalinux之后,我们通过账号,密码(都是root)进行登录。如果没有login登录命令,那么petalinux的设置就没有成功。之前有试过通过SD卡来启动,缺少文件没有login命令。
第一步确认SSD正确连接
通过lspci命令确认SSD正常连接。
可以看到我们的SSD 三星设备a809正常连接了,它的PCIe BAR0地址为0xe0000000, 使用了MSI中断等等。
第二步在新SSD里面建立一个分区
通过lsblk命令可以查看当前SSD的分区情况,我这里是个新的SSD,所以没有分区,只有nvme0n1。
下面使用fdiks工具来创建分区,创建完之后我们才能用petalinux的命令测试速率。分别输入以下命令:
fdisk /dev/nvme0n1 //对nvme0n1使用fdisk工具
n //创建一个新的分区
p //分区类型为主分区primary
1 //分区数目为1
直接回车 //分区起始设置为默认
直接回车 //分区结束设置为默认
w //保存设置并退出
整个过程如下图所示:
再通过lsblk命令可以看到我们已经创建了一个分区nvme0n1p1:
第三步使用time dd命令测试速率
写速度测试,使用如下命令:
time dd if=/dev/zero of=/dev/nvme0n1p1 bs=2M count=1000
数据从/dev/zero读出,写入到SSD的nvme0n1p1,每次写入大小为2MB,写入1000次,既完成2000MB的写入。
2000MB的数据传输用了6.346s,通过简单的计算我们可以得到当前SSD的
写入速度为: 315.16 MB/S
通过如下命令可以测试SSD的读取速度:
time dd if=/dev/nvme0n1p1 of=/dev/zero bs=2M count=1000
设置和上面基本相似,就是把读出和写入的源头交换了以下,从SSD里读出数据。
读取速度也相当感人:
读取速度为: 479.39 MB/S
总结
这里说明以下,我用的SSD是PCIe 3.0的,最大读写速度基本能到3000 MB/S。ZCU102上面的PCIe核是2.0的,跑1500 MB/S应该也是问题不大的。所以petalinux跑出来这个速度那是相当慢的。瓶颈不知道出在petalinux哪里,Xilinx的工程师也没有说清楚。
之后我用ZCU102裸机状态下写了NVMe的相关驱动,能够得到大概1500 MB/S的读写速度,读和写的速度差别不大。可见高速数据存储还是没法偷懒用petalinux了。
更多推荐
所有评论(0)