Apple 文件系统指南中的Apple技术文档描述了某些目录/tmp
不是快速目录大小调整功能的理想选择。
快速目录大小调整是通过在添加和删除内容时预先计算目录的大小来实现的。因此,它最适合包含许多文件且流失相对较小的目录。例如,用户的Documents文件夹是快速调整目录大小的不错选择,而
/tmp
目录则不是。
如何确定给定目录是否启用了此功能,所以我可以选择在哪里进行速度密集的“搅动”工作,在何处不进行此类工作?
Apple 文件系统指南中的Apple技术文档描述了某些目录/tmp
不是快速目录大小调整功能的理想选择。
快速目录大小调整是通过在添加和删除内容时预先计算目录的大小来实现的。因此,它最适合包含许多文件且流失相对较小的目录。例如,用户的Documents文件夹是快速调整目录大小的不错选择,而
/tmp
目录则不是。
如何确定给定目录是否启用了此功能,所以我可以选择在哪里进行速度密集的“搅动”工作,在何处不进行此类工作?
Answers:
现在我们知道,自从苹果最近发布了有关APFS的更多技术细节以来,先前的答案有些偏离。实际上,可以在每个目录的基础上启用快速目录大小调整,并且可以由用户检查(尽管不容易)。仅当目录为空时才可以启用它,并且还必须为每个新的子目录打开它。详细信息:https : //developer.apple.com/support/apple-file-system/Apple-File-System-Reference.pdf
相关报价
您不能直接在包含文件或其他目录的目录上启用快速目录大小调整;相反,您必须首先创建一个新目录,在其上启用快速目录大小调整,然后将现有目录的内容移至新目录
现在我们知道您必须设置此标志才能启用FDS
INODE_MAINTAIN_DIR_STATS:索引节点跟踪其所有子节点的大小
尽管我仍然不清楚macOS是否在适当的地方自动打开了此标志,但是一些初步的试验使我认为它尚未被使用。我认为它将在即将到来的macOS更新中使用。
简短答案
FDS是APFS格式化驱动器中文件系统的基本部分。用户不需要启用/禁用它,也不能将其应用于一个目录,而不能应用于另一个目录。
由于是“全能”方案,因此没有任何终端命令来确定目录是否启用了FDS。相反,如果将驱动器格式化为APFS格式,则会启用FDS。如果未以APFS格式格式化,则FDS不可用。
长答案
不幸的是,您从Apple技术文档中引用的信息措辞不当,因此是您提出问题的原因。
如果驱动器以APFS格式格式化,则将快速应用目录大小快速调整。用户不能在每个目录中启用/禁用FDS。
因此,用户也无法根据目录确定目录的状态。也就是说,如果驱动器格式化为APFS,则所有目录都启用了FDS。
造成混淆的地方(在这种情况下,也是可以理解的)是Apple文档中词语的错误选择以及造成的歧义。该信息试图传达的信息是,用户将从那些文件较多但变化不大的目录(例如,用户的Documents文件夹)中的FDS中受益最多,而他们将不会从FDS目录中获得太多收益(如果有)像/tmp
文件夹。
顺便说一句,您引用的文档已由“ 关于Apple文件系统”页面代替。本页上唯一提到的FDS如下:
Apple File System提供了改进的文件系统基础以及一些新功能,包括克隆,快照,空间共享,快速目录大小调整,原子安全保存和稀疏文件。
有没有试图进一步解释什么 FDS手段,超越了事实,这是一个基本的(阅读下面的)功能。但是,如果您对某些背景感兴趣:
在HFS +中复杂而深入的目录结构中,我们熟悉文件系统可能花费在计算文件系统树大小上的时间。这是系统挂起的常见原因之一。苹果公司通过APFS引入了快速目录大小调整(FDS),文件系统可以在其中快速计算目录层次结构使用的空间,以解决此问题。
资料来源:汉森(KH),哈坦(Toolan),F。,解码APFS文件系统,数字调查(2017)
j_inode_flags
在苹果文件系统参考。目录索引节点数据结构确实允许在每个目录实例上启用或禁用此功能。那里没有任何内容说明此答案中所述的所有目录都已自动启用此功能。