Windows XP是否使用NTFS文件系统函数调用来读取/写入页面文件(pagefile.sys)?

时间:2008-11-18 07:08:26

标签: ntfs pagefile

如果确实如此,那么您如何证明所产生的管理费用(日记等)? 如果没有,那么页面文件怎么会碎片? 另外,增加簇大小会提高页面文件的性能(群集冗余空间不是问题)?

2 个答案:

答案 0 :(得分:1)

您可以看到filemon或procmon(sysinternals.com)看到操作系统写入页面文件 - 因此它必须使用适当的文件系统语义。

如果你因内存压力而交换,你已经失去了性能战,并且开销不会显着增加损失(但它们意味着你的文件系统仍然没有损坏)。如果交换不是对性能至关重要的,那么谁会关注日记的性能损失?

群集大小不太可能成为问题,因为它只是映射磁盘上的index->存储。页面文件很少改变大小,因此索引几乎不会改变。

答案 1 :(得分:1)

系统使用文件系统调用来访问页面文件。日记本的开销基本上是零。日志记录仅在文件系统结构更改时生效,而不是单个读取或写入。默认情况下,XP使用半固定页面文件,初始大小设置为物理内存大小的1.5倍。在正常情况下,页面文件永远不会小于此。如果这个大小足够,并且RAM大小合理,那么几乎总是如此,页面文件永远不会调整大小。只有在这种不太可能发生的事件中,才会为页面文件分配新的集群,并且可能会出现碎片。重启或更快时,页面文件的所有扩展都将被释放,并将恢复为其初始大小。在正常情况下,不会发生碎片。如果页面文件最初未进行分段并且未发生调整大小,则页面文件将永远不会碎片化。

页面文件或多或少地连续使用以保存很少使用的数据。这些写入发生在CPU和磁盘访问率较低的情况下,因此不会影响性能。由于涉及的数据很少使用,因此页面文件访问很少会严重影响性能。页面文件不仅仅是内存不足时使用的溢出区域。在大多数情况下,页面文件通过将RAM从长时间处理静态数据的需要中解放出来来提高性能。