例如,大小为 32MB 的 NTFS 更改日志数据库中可以存储多少个文件更改。如何将兆字节数转换为文件数量?
答案1
可以使用以下公式估算给定的 USN 日志文件可以容纳的更改数:
日志大小/((60 字节 +(文件名长度))* 2)
此公式中的数字“2”源自每个文件更改的两个日志条目:1 表示打开,1 表示关闭。将日志大小除以每次更改的大小,以确定在遇到日志覆盖错误之前可能发生的大致更改次数。假设文件名为 8.3,则这对应于 32 MB 日志文件的大约 200,000 个文件和/或目录。如果使用长文件名,更改次数会更少。
答案2
你不能,因为记录的长度是可变的。每条记录都包含被修改的文件的名称。
您可以确定最低限度通过检查特定记录的,根据其和调用返回的RecordLength
之间的差异进行调整,可以存储的记录数FileNameLength
lpMaximumComponentLength
GetVolumeInformation
,并将该结果除以期刊的大小。
然而,它相当不准确,因为 NTFS 驱动器上的绝大多数文件名都比最大长度短得多。