11

我正在尝试编写一个 C#/.NET 应用程序来优化我们 XP 工作站的硬盘驱动器

  1. 将页面文件设置为“无页面文件”
  2. 重启
  3. 运行碎片整理实用程序以优化数据和应用程序
  4. 创建一个连续的页面文件
  5. 重新启动,从 Sysinternals 运行 pagedefrag

我真的很挣扎#1。我删除以下键:SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles

重新启动后,系统控制面板显示“无页面文件”,但 c:\pagefile.sys 仍然存在并且它正在被 SYSTEM 进程使用,因此我无法删除它,也无法优化 HD。我尝试使用 PendingFileRenamingOperations 并且也爆炸了。我尝试使用 WMI:Win32_PageFileSetting,但这只能让您设置大小(不是零——默认为 2MB)。

当然,如果我执行上述手动步骤,它就可以工作。

我想我需要一个 API 调用来实现这一点。

4

3 回答 3

4

查看DeleteDeleteEx类的方法Win32_PageFile

该类已被弃用,但既然您在谈论 Windows XP,那么它可能还没有被弃用。

于 2010-05-11T15:23:04.380 回答
1

实际上,我犯的错误是删除注册表项。

我必须做的是将多字符串值设置为类似

rk.SetValue("PagingFiles", new string[]{""}, RegistryValueType.MultiString)

祝你好运!

于 2010-05-30T01:55:58.117 回答
0

您可以修改注册表以更改页面文件设置。

它们存储在以下注册表项中:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

PagingFilesvalue 包含 ' PageFileLocation MinSize MaxSize' 格式的值(即 ' C:\pagefile.sys 1024 2048')——您可以在本文中找到更多相关信息

于 2010-05-11T15:30:32.703 回答