Linux XFS,是否可以在连续块中写入文件?

Linux XFS,是否可以在连续块中写入文件?,linux,file,embedded,fragmentation,xfs,Linux,File,Embedded,Fragmentation,Xfs,我想知道是否有一种方法可以在连续的范围内写入文件,以完全避免文件系统的某些文件出现碎片 我的意思是,Linux下的XFS文件系统。一般来说,没有-您无法直接控制分配器 您可以使用fallocate(2)系统调用预分配所有块,这取决于可用的可用空间,这可能会给您提供要写入的连续块 (请注意,您可以使用xfs_bmap命令检查现有文件的实际碎片/布局。)如果您非常担心性能,您是否将IO模式与磁盘存储相匹配?例如,您是否以与磁盘块和RAID段对齐的方式执行IO?如果您不这样做,那么尝试想想像XFS这样

我想知道是否有一种方法可以在连续的范围内写入文件,以完全避免文件系统的某些文件出现碎片


我的意思是,Linux下的XFS文件系统。

一般来说,没有-您无法直接控制分配器

您可以使用fallocate(2)系统调用预分配所有块,这取决于可用的可用空间,这可能会给您提供要写入的连续块


(请注意,您可以使用xfs_bmap命令检查现有文件的实际碎片/布局。)

如果您非常担心性能,您是否将IO模式与磁盘存储相匹配?例如,您是否以与磁盘块和RAID段对齐的方式执行IO?如果您不这样做,那么尝试想想像XFS这样的快速文件系统为提高性能所做的优化可能不会帮助您提高IO速率。听起来像是过早的优化。你为什么要这个?你做基准测试了吗?我必须写20MB的文件,由于碎片越来越多,我丢失了一些信息。碎片不应该导致数据丢失……好吧,现在听起来像是错误的应用程序设计或不合适的硬件。如果这真的是一个碎片问题,那么是你的应用程序促成了这一点。重新考虑您的系统设计。是的,但不能保证fallocate预先分配连续块。这会导致我的视频流/录制应用程序延迟。