Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 扇区大小不是4096的xfs文件系统导致英特尔NVMe驱动器性能下降_Linux_Ext4_Pci E_Solid State Drive_Xfs - Fatal编程技术网

Linux 扇区大小不是4096的xfs文件系统导致英特尔NVMe驱动器性能下降

Linux 扇区大小不是4096的xfs文件系统导致英特尔NVMe驱动器性能下降,linux,ext4,pci-e,solid-state-drive,xfs,Linux,Ext4,Pci E,Solid State Drive,Xfs,我正在linux(Ubuntu 14.04)上使用NVMe卡。 当使用默认扇区大小(512)的xfs文件系统进行格式化时,我发现Intel NVMe卡的性能有所下降。或任何其他小于4096的部门规模 在实验中,我使用带有默认选项的xfs文件系统格式化了卡。我尝试在页面大小为64k的arm64平台上运行64k块大小的fio。 这是使用的命令 fio--rw=randread--bs=64k--ioengine=libaio--iodepth=8--direct=1--group\u reporti

我正在linux(Ubuntu 14.04)上使用NVMe卡。 当使用默认扇区大小(512)的xfs文件系统进行格式化时,我发现Intel NVMe卡的性能有所下降。或任何其他小于4096的部门规模

在实验中,我使用带有默认选项的xfs文件系统格式化了卡。我尝试在页面大小为64k的arm64平台上运行64k块大小的fio。 这是使用的命令
fio--rw=randread--bs=64k--ioengine=libaio--iodepth=8--direct=1--group\u reporting--name=Write\u 64k\u 1--numjobs=1--runtime=120--filename=new--size=20G

我只能得到下面的值

运行状态组0(所有作业): 读:io=20480MB,aggrb=281670KB/s,minb=281670KB/s,maxb=281670KB/s,mint=744454毫秒,maxt=74454毫秒 磁盘统计信息(读/写): nvme0n1:ios=326821/8,merge=0/0,ticks=582640/0,in_queue=582370,util=99.93%

我尝试按如下方式格式化:

mkfs.xfs -f -s size=4096 /dev/nvme0n1
那么这些值是:

运行状态组0(所有作业): 读:io=20480MB,aggrb=781149KB/s,minb=781149KB/s,maxb=781149KB/s,mint=266 847毫秒,最大值=26847毫秒 磁盘统计信息(读/写): nvme0n1:ios=326748/7,merge=0/0,ticks=200270/0,in_queue=200350,util=99.51%

我发现使用时没有性能下降

  • 4k页面大小
  • 任何小于64k的fio块大小
  • 使用带有默认配置的ext4 fs

可能是什么问题?这是否存在对齐问题?我错过了什么?感谢您的帮助

问题是您的SSD的本机扇区大小是4K。因此,文件系统的块大小应设置为匹配,以便读写在扇区边界上对齐。否则,您将有跨越2个扇区的块,因此需要2个扇区读取才能返回1个块(而不是1个读取)

如果您有Intel SSD,则较新的SSD具有可变扇区大小,您可以使用其Intel固态硬盘数据中心工具进行设置。但老实说,4096仍然可能是驱动器的真正扇区大小,使用它并将文件系统设置为匹配,您将获得最一致的性能

在Linux上的ZFS上,4K块的设置为ashift=12