我已经创建了 http://pmem.io/2016/02/22/pm-emulation.html 给出的模拟设备,成功。
它正确显示设备:
:~/Prakash/nvml/src/examples/libpmem$ mount | grep pmem
/mnt/pmemd 上的/dev/pmem0 类型为 ext4(rw、relatime、dax、errors=continue、data=ordered)
但是,当我执行 pmem nvml 给出的 simple_copy 示例时,它会出现以下错误:
amd@amd:~/Prakash/nvml/src/examples/libpmem$ ./simple_copy logs
/dev/pmem0 pmem_map_file: File exists
amd@amd:~/Prakash/nvml/src/examples/libpmem$ ./simple_copy logs
/dev/pmem0/logs pmem_map_file: Not a directory
我是否没有正确使用该程序?
此外,我已将设备安装为 dax,并且我清楚地看到了性能优势
:~/Prakash/nvml/src/examples/libpmem$ sudo dd if=/dev/zero of=/dev/pmem0 bs=2G count=1
0+1 records in
0+1 records out
2147479552 bytes (2.1 GB, 2.0 GiB) copied, 0.910729 s, 2.4 GB/s
:~/Prakash/nvml/src/examples/libpmem$ sudo dd if=/dev/zero of=/mnt/pmem0/test bs=2G count=1
0+1 records in
0+1 records out
2147479552 bytes (2.1 GB, 2.0 GiB) copied, 6.39032 s, 336 MB/s
最佳答案
从发布的错误来看,似乎有理由相信:
- 如果没有适当的选项,它将不会创建目录
- 如果没有适当的选项,它不会替换文件
关于c - pmem.io 上的 simple_copy 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47987486/