Windows 系统资源管理器通过调整进程优先级来管理处理器资源。这样,可以保证进程匹配条件定义的进程组可以获得最低可用 CPU 带宽百分比。除非总 CPU 利用率大于 70%,否则,不会强制进行资源管理。
您还可以使用 Windows 系统资源管理器来定义处理器关联。这意味着匹配的进程可以与多处理器计算机上的一个处理器或一组处理器关联。
重要 | |
永远不会管理核心操作系统进程,包括 Windows 系统资源管理器服务。此外,可以手动将进程添加到用户定义的排除列表中,以便不进行管理。排除的进程或非受管理进程组成员的进程必须共享在分配之后剩余的资源。将 Weighted_Remote_Sessions 设置为管理策略时,内核将执行资源分配,此过程与 Windows 系统资源管理器的状态无关。 |
处理器管理方法
Windows 系统资源管理器可以通过 CPU 百分比目标或处理器相关性规则来管理处理器资源。
重要 | |
如果应用程序具有管理 CPU 使用情况或处理器相关性的功能,应使用其自带的资源管理功能并将其添加到用户定义的排除列表中。 |
CPU 百分比目标
分配处理器资源最简单的方法是为进程匹配条件定义的每个进程组分配一个 CPU 百分比目标。此目标是向进程组保证的最低可用 CPU 带宽百分比。
注意 | |
可以分配的资源是核心操作系统进程或手动排除的进程未使用的资源。 |
由于 Windows 系统资源管理器保证最低可用 CPU 带宽,而不是限制 CPU 带宽的利用率,所以,受管理的进程组使用的实际 CPU 可能会超过最低分配。未使用其最低分配的受管理进程组的多余容量将重新分配给需要更多资源的进程组。
管理规则
在使用 CPU 约束创建资源分配策略时,还可以选择要应用的管理规则。这些管理规则类似于内置的资源分配策略,但是在将其应用于资源分配策略中的一个资源分配时,将在该资源分配的所有匹配进程之间分配已分配的 CPU。
管理规则包括:
标准(默认值)
Windows 系统资源管理器不会尝试控制在匹配的进程之间分配已分配的 CPU 的方式。选择此管理规则时,可以使用其他进程匹配条件向匹配的进程二次分配资源。有关详细信息,请参阅本主题后面的“二次分配”部分。
例如,一个匹配的进程可能会使用所有已分配的 CPU 带宽。Windows 系统资源管理器不会管理此带宽使用,所以,可能会影响其他进程。
每进程相等
可用的 CPU 带宽在匹配的进程之间平均分配。选择此管理规则时,不允许进行二次分配。
例如,如果两个匹配的进程使用 100% 已分配的 CPU 带宽,则 Windows 系统资源管理器将降低 CPU 利用率超过 50% 的进程的优先级。
每用户相等
每个用户运行的匹配进程组共享的可用 CPU 带宽相等。选择此管理规则时,不允许进行二次分配。
例如,如果两个用户正在运行多个应用程序,这些应用程序使用 100% 已分配的 CPU 带宽,则 Windows 系统资源管理器将降低 CPU 利用率超过 50% 的用户所运行的进程的优先级。
每会话相等
在 RD 会话主机 服务器上,每个 远程桌面服务 会话中运行的匹配进程共享的可用 CPU 带宽相等。选择此管理规则时,不允许进行二次分配。
例如,如果连接到 RD 会话主机 服务器的两个用户使用 100% 已分配的 CPU 带宽,则 Windows 系统资源管理器将降低 CPU 利用率超过 50% 的远程桌面服务会话中运行的进程的优先级。
二次分配
CPU 百分比目标分配可以进一步分为二次分配。二次分配按父级资源分配所分配的资源的百分比计算所分配的资源。此二次分配匹配的进程匹配条件与父级资源分配不同。
二次分配优先于默认的资源分配策略。有关详细信息,请参阅资源二次分配。
默认管理规则:每进程相等
在一个进程组中的进程之间管理资源的默认策略是内置策略 Equal_Per_Process。通过此策略:
- 可用的 CPU 带宽在进程匹配条件所确定的进程之间平均分配。
- 默认情况下启用超越进程保护。
- 如果启动 Windows 系统资源管理器而不进行其他配置,则将此策略应用于受管理的服务器上运行的所有可管理进程。
此默认策略可以通过编辑 Windows 系统资源管理器属性进行更改。应启用“当前资源分配策略”(如果禁用了日历)或禁用“日历默认策略”(如果启用了日历)。
处理器相关性
除了指定 CPU 目标百分比之外,匹配的进程还可以与多处理器系统上的特定处理器关联。此方法可以有效地在少量进程匹配条件之间分配服务器的资源,但是,在对大量进程匹配条件使用处理器相关性时,应谨慎操作。Windows 系统资源管理器在计算具有相关性的进程的可用资源时,将只考虑一个处理器的状态,所以如果系统遇到较高负荷,可能会过度分配处理器资源。
有时,可用的 CPU 带宽可能会低于预期。这样,将减少分配给匹配进程的 CPU 带宽,可能会使这些进程的响应速度低于预期。如果符合下列条件,可能会发生这种情况:
- 进程组关联的处理器数过少。
- 没有关联的进程使用另一个进程组约束到的处理器。
进程匹配条件无法检查在具有相关性的进程之间是否存在分配冲突。
注意 | |
对于 SQL Server 多实例管理,不建议通过 Windows 系统资源管理器管理 CPU 相关性,而应使用 SQL Server 中的处理器相关性设置。 |
其他参考
- Windows 系统资源管理器
- 使用 Windows 系统资源管理器
- 使用资源分配策略
- 资源二次分配
- 有关 Windows 系统资源管理器的详细信息,请参阅
https://go.microsoft.com/fwlink/?LinkId=90924 (可能为英文网页)。