上一篇进行了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了。

GitHub 加速计划 / nv / nvm
78.06 K
7.82 K
下载
nvm-sh/nvm: 是一个 Node.js 版本管理器,用于在不同的 Node.js 版本之间进行切换。它可以帮助开发者轻松管理多个 Node.js 版本,方便进行开发和测试。特点包括轻量级、易于使用、支持跨平台等。
最近提交(Master分支:2 个月前 )
9c9ff4ba Moved issue template into ISSUE_TEMPLATE folder 1 天前
51ea809d - 1 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐