Lau*_*eyn 6 filesystems memory tmpfs fragmentation defragmentation
既然tmpfs只存在于内存中,它会像内存一样变得碎片化吗?是否有机制可以自动对内存进行碎片整理,从而提高(甚至略微提高)存储文件的访问速度?
vor*_*aq7 11
据我所知,没有办法对 tmpfs 文件系统进行碎片整理(至少不是在 FreeBSD、Linux 或 Solaris 上)。
根据底层实现,tmpfs 可能会变得碎片化(例如,某些 tmpfs 实现不在 RAM 中 - 它们会占用交换空间:根据分配算法,分配的交换空间可能会碎片化并显示出明显的速度下降)。
RAM 中的 tmpfs 也有可能变得“碎片化”,但这不是一个实际问题:RAM“足够快”,您会浪费更多的 CPU 时间来尝试对其进行“碎片整理”,而不是您无法访问非连续RAM 部分(无需担心旋转延迟,并且 MMU 或等效于访问非连续 RAM 部分与一系列连续页面的额外开销足够小,您可能可以忽略它。
坦率地说,如果您担心这种级别的性能,您无论如何都不想使用 tmpfs,因为 VFS 层使 RAM 看起来像文件系统的开销比您可能遇到的任何内存碎片问题都要严重许多数量级(上下文切换等)。