如何配置页面缓冲的地址池和系统页表条目内存区域

文章翻译 文章翻译
文章编号: 247904 - 查看本文应用于的产品
注意
本文适用于 Windows 2000。Windows 2000 支持的结束,到 2010 7 月 13Windows 2000 End-of-Support Solution Center 是进行规划迁移策略从 Windows 2000 的起始位置。有关详细信息,请参阅 Microsoft Support Lifecycle Policy
展开全部 | 关闭全部

概要

本文介绍如何调整分页地址池和在基于 Windows 2000 的计算机运行 Microsoft 终端服务器服务中的系统页表项 (SystemPTE) 内存区域的大小。

更多信息

重要此分区、 方法,或任务包含告诉您如何修改注册表的步骤。但是,如果注册表修改不当可能会出现严重问题。因此,请确保您仔细按照这些步骤。附加的保护注册表之前先备份您对其进行修改。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756如何备份和还原在 Windows 注册表

Windows 2000 可以直接解决最多 2 ^32 字节或 4 千兆字节 (GB) 的不管有多少物理随机存取存储器 (RAM) 的内存地址空间已安装。默认状态下,该地址空间的 2 GB 分配到每个的进程和 2 GB 分配给内核。在单独的 2 GB 区域的地址空间用于在计算机中的每个进程,大部分 2 GB 内核区域是全局的和保持不变无论哪种用户模式进程当前处于活动状态。

在有 2 GB 的内核区域包含所有系统数据结构和信息。因此,2 GB 内核地址空间区域可以施加限制的系统数据结构的数量和已安装的内核信息可存储不管有多少 RAM 的计算机上的数量。

这两种类型的共享此 2 GB 地址区域中的某一部分的数据是分页池分配和内核堆栈分配。页面缓冲的池分配都是由内核模式组件进行内存分配。内核堆栈分配是创建的每个线程用于进行系统调用,在内核中的牌叠。在分页池区域中进行分页的池分配和内核堆栈分配时对系统页表项 (PTE) 区域中。

虽然这些不同的分配共享相同的区域,它们之间分区被固定在启动时。如果操作系统运行的那些区域之一中的空间不足,其他区域不能捐赠给它,空间和程序可能开始遇到意外的错误。因此时遇到意外的错误或无法接受新的登录的基于 Windows 2000 的计算机,您会遇到,并在计算机上没有一些其他资源限制 (如中央处理器 (CPU) 或 $ 磁盘瓶颈, 是非常有可能分页池或 $ 系统 PTE 区域也变得越来越低磁盘空间。因为默认,系统 PTE 区域会调整大小以与启用终端服务会在计算机上尽可能大,限制通常会分页池地址空间不足。幸运的是一些的计算机上系统 PTE 区域可以配置为较小,这可以缓解这些症状,并允许更多的用户访问计算机。

要确定是否您的计算机已运行的一个或多个这些资源,请执行以下操作:
  1. 将内核调试程序附加到计算机。
  2. 使用文本编辑器在 Boot.ini 文件中添加 / DEBUG 参数。
  3. 重新启动计算机。
有关使用内核调试程序的其他信息请单击下面文章编号,以查看 Microsoft 知识库中相应的文章:
151981如何设置远程调试会话使用 Null 调制解调器电缆
当您认为系统已经达到某个限制:
  1. 在断开到调试器。
  2. 类型 ! vm,然后按 ENTER 键。
  3. 如果调试器输出中会显示任何错误,键入 ! 重新加载,然后按 ENTER,以确保您具有正确的符号。
下面是示例调试会话。感兴趣的数据是为了清楚起见粗体:

*** 虚拟内存使用 ***
物理内存: 1032075 (4128300 Kb)
页面文件: \ 概览\C:\pagefile.sys
当前: 4190208Kb
最小值: 4190208Kb
最大: 4190208Kb
可用页: 599741 (2398964 Kb)
ResAvail 页: 894259 (3577036 Kb)
已修改的页: 757 (3028 Kb)
NonPagedPool 使用量: 15084 (60336 Kb)
NonPagedPool Max: 71586 (286344 Kb)
PagedPool 0 使用量: 22953 (91812 Kb)
PagedPool 1 使用: 4324 (17296 Kb)
PagedPool 2 使用: 4315 (17260 Kb)
PagedPool 3 使用: 4360 (17440 Kb)
PagedPool 4 使用: 4366 (17464 Kb)
********** 过度分页池使用 *****
PagedPool 用法: 40318 (161272 Kb)
PagedPool 最大: 40960 (163840 Kb)
共享提交: 30133 (120532 Kb)
特殊池: 0 (0 Kb)
释放系统 pte: 47920 (191680 Kb)
共享过程: 99141 (396564 Kb)
PagedPool 提交: 40318 (161272 Kb)
驱动程序提交: 770 (3080 Kb)
提交页: 822746 (3290984 Kb)
提交限制: 2037826 (8151304 Kb)
总计专用: 545122 (2180488 Kb)
在"********** 过的分页池使用 *****"在此输出列表中的项是表明页面缓冲的池资源不足的计算机。这可能会通过记录 PagedPool 使用项非常接近于 PagedPool 最大项来进行确认。

为了用干净的 Windows 2000 安装在计算机上配置系统 PTE 空间和分页池空间之间分区,计算机必须是页面缓冲的池资源不足并且计算机必须具有大量的剩余的可用的系统 PTE 空间。可用的系统 PTE 空间量应为 40,000 K 或更高版本。如果计算机超出了可用的系统 PTE 空间,则不能使用下面的方法以获取更多的用户登录到终端服务器。

调整计算机以便使用页面缓冲的池空间和 $ 系统 PTE 空间之间的最佳平衡:
  1. 重新启动在的计算机,然后再登录。
  2. 拆分为调试程序类型 ! vm,然后按 ENTER 键。
  3. 记下 PagedPool 最大值、 使用 PagedPool,和可用的系统 pte 的值。记下值以 kb 为单位,并括在括号中。
  4. 在调试主机上键入 g,然后按 ENTER 键。
  5. 在目标计算机登录 10 的终端服务器用户,并将其所有登录。' 请勿打扰 ''' 以任何方式而不按照此过程要求对服务器。
  6. 为所有的 10 个会话启动 $ 您期望用户一次运行的所有程序。这将您的用户的代表性示例。这些会话正在运行的程序应能代表什么在此系统上的所有用户将都运行的任何位置正常生产环境中的时间。为了获得最佳的效果任何远程用户应执行几个认为他们运行的程序的正常的操作。例如对于在单词中处理程序在用户需要键入,或用户可能在一个业务部门程序中输入几个订单。
  7. 拆分为调试程序类型 ! vm,然后按 ENTER 键。
  8. 记下 PagedPool 用和可用的系统 pte 的值。
  9. 执行后面的计算:

    1. amount of paged pool per user=(amount of paged pool used final-amount of paged pool used initially)/10

      其中 amount of paged pool per user 是每个 amount of paged pool used final 的用户的页面缓冲池的大小是页面缓冲池的用于最终,并且 amount of paged pool used initially 是最初使用的页面缓冲池的量。
    2. amount of system PTEs per user=(amount of free system PTEs initial-amount of free system PTEs final)/10

      其中 amount of system PTEs per user 是每个用户,amount of free system PTEs initial 系统 pte 的数量是可用的系统 pte 初始,量和 amount of free system PTEs final 是可用的系统 pte 最终的量。
  10. 要修改注册表,请执行以下操作:

    1. 确定可用的虚拟地址空间,以及每个用户所需的虚拟空间:

      AvailableVirtualSpace= PagedPoolMaximum + FreeSystemPTEsinitial-PagedPoolUsedinitial

      AvailableVirtualSpace 所在的可用虚拟空间 PagedPoolMaximum 是系统的最大,页面缓冲池 FreeSystemPTEsinitial 量最初,是系统的可用 pte 的数量和 PagedPoolUsedinitial 是系统的最初使用的页面缓冲池的量。
    2. 使用下面的公式确定多少虚拟空间是每个用户需要:

      VirtualSpacePerUser= PagedPoolPerUser + SystemPTEsPerUser

      VirtualSpacePerUser 所在的每个用户,PagedPoolPerUser 所需的虚拟空间是每个用户,页面缓冲池的量和 SystemPTEsPerUser 是每个用户的系统 pte 的数量。
    3. 使用下面的公式确定此计算机从理论上来说可以支持多少用户:

      MaxUsers= AvailableVirtualSpace / VirtualSpacePerUser

      其中 MaxUsers 是最大数量的用户,AvailableVirtualSpace 是可用的虚拟空间量和 VirtualSpacePerUser 是每个用户的虚拟空间量。
    4. 使用下面的公式确定需要多少系统 PTE 空间:

      PTErequired= SystemPTEsPerUserMaxUsers x

      其中 PTErequired 是 pte 的数量需要 SystemPTEsPerUser 是每个用户的 pte 数,MaxUsers 是最大用户数。
    5. 使用下面的公式计算多余 pte 和 SystemPages 的量:
      PTEexcess= FreeSystemPTEsinitial-PTErequired

      其中 PTEexcess 是多余的 pte 的数量、 FreeSystemPTEsinitial 最初,是可用的系统 pte 的数量,PTErequired 是所需的 pte 的数量。
      重要此分区、 方法,或任务包含告诉您如何修改注册表的步骤。但是,如果注册表修改不当可能会出现严重问题。因此,请确保您仔细按照这些步骤。附加的保护注册表之前先备份您对其进行修改。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
      322756如何备份和还原在 Windows 注册表

    6. 在命令提示符下使用注册表编辑器 (Regedit32.exe) 修改中 HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management\SystemPages SystemPages 值为从下面的公式计算的值:

      SystemPages= 50,000-(PTEexcess / 4) (舍入到最接近的整数)。

      其中 SystemPages 是系统页面数,PTEexcess 是多余的 pte 的数量。

      如果计算的值的 SystemPages 低于 7,000,则将该值设置为 7,000 中。如果计算的值大于 50,000,然后地址空间边界已配置的用户的最大金额中。
    7. 重新启动计算机,断开到调试程序类型 ! vm,然后按 ENTER 键。
    8. 验证页面缓冲池最已增加,并且已降低,系统 PTE 空间。

属性

文章编号: 247904 - 最后修改: 2007年3月2日 - 修订: 2.5
这篇文章中的信息适用于:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
关键字:?
kbmt kbenv kbhowto KB247904 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 247904
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com