NTFS更改日记大小

例如,大小为32MB的NTFS更改日志数据库中可以存储多less个文件更改。 我如何从兆字节到文件的数量?

给定的USN日志文件可以容纳的变化数量可以用下面的公式估算:

日志大小/((60字节+(文件名的长度))* 2)

此公式中的数字“2”源于每个文件更改的两个日记帐分录:1个用于打开,1个用于closures。 将日志大小除以每次更改的大小,以确定在遇到日志回卷错误之前可能发生的大致更改次数。 假设8.3文件名,这映射到大约200,000个文件和/或32 MB日志文件的目录。 如果使用长文件名,更改次数会减less。

你不能因为logging是可变长度的。 每个logging都包含被修改的文件的名称。

您可以通过检查特定logging的lpMaximumComponentLength来确定可以存储的logging的最小数目,通过调用GetVolumeInformation返回的FileNameLengthlpMaximumComponentLength之间的差异进行调整,然后将结果划分为日记的大小。

但是,这将是非常不准确的,因为NTFS驱动器上的绝大多数文件名将比最大长度短得多。