系统优化

Workspace Environment Management (WEM) 系统优化包括以下设置:

这些设置旨在降低代理计算机上的资源使用量。它们有助于确保释放的资源可用于其他应用程序。这样做可以通过每台服务器支持更多的用户来增加用户密度。

系统优化设置是基于计算机的,适用于所有用户会话,但流程优化是以用户为中心的。这意味着,当进程在用户 A 的会话中触发 CPU 峰值保护时,仅为用户 A 记录该事件。当用户 B 启动同一进程时,进程优化行为仅由用户 B 的会话中的进程触发器确定。


CPU 管理

通过这些设置,您可以优化 CPU 使用率。

进程可以跨所有核心运行,并且可以根据需要占用尽可能多的 CPU。在 WEM 中,CPU 管理功能允许您限制单个进程可以使用的 CPU 容量。CPU 峰值保护不是为了降低总体 CPU 使用率而设计的。它旨在减少消耗过多 CPU 使用率的进程对用户体验的影响。

启用 CPU 峰值保护时,如果进程达到指定阈值,WEM 会在一定时间内自动降低进程的优先级。然后,当启动新应用程序时,它的优先级高于较低优先级的进程,并且系统将继续顺利运行。

CPU 峰值保护功能会在快速 “快照” 中检查每个进程。“ 如果进程的平均负载超过指定采样时间的指定使用限制,则其优先级会立即降低。在指定的时间之后,进程的 CPU 优先级将返回到其先前的值。该过程没有“限制”。就像在 CPU 钳制中一样,只有它的优先级会降低。

在单个进程的至少一个实例超过阈值之前,不会触发 CPU 峰值保护。换句话说,即使总 CPU 消耗超过指定阈值,除非至少有一个进程实例超出阈值,否则不会触发 CPU 峰值保护。但是,当该进程实例触发 CPU 峰值保护时, 启用启用智能 CPU 优化选项后,同一进程的新实例将优化 (CPU )。

每当特定进程触发 CPU 峰值保护时,该事件都会记录在代理的本地数据库中。代理分别记录每个用户的触发器事件。这意味着用户 1 的特定进程的 CPU 优化不会影响用户 2 的同一进程的行为。

例如,如果 Internet Explorer 有时消耗 50% — 60% 的 CPU,则可以使用 CPU 峰值保护仅针对那些威胁 VDA 性能的 iexplore.exe 实例。(相比之下,CPU 固定适用于所有进程。)

我们建议您尝试采样时间,以确定不影响登录到同一 VDA 的其他用户的环境的最佳值。

CPU 峰值保护

注意:

  • 以下设置中的“CPU 使用率”基于物理机或虚拟机中的“逻辑处理器”。CPU 中的每个内核都被视为逻辑处理器,与 Windows 一样。例如,一台具有一个 6 核 CPU 的物理计算机被认为具有 12 个逻辑处理器(超线程技术意味着内核数量增加一倍)。具有 8 个 CPU(每个具有 12 个内核)的物理计算机具有 96 个逻辑处理器。配置两个 4 核 CPU 的虚拟机具有 8 个逻辑处理器。
  • 这同样适用于虚拟机。例如,假设您有一台具有 8 个 CPU 的物理计算机,每个 CPU 具有 12 个核心(96 个逻辑处理器),支持四个多会话操作系统 VDA 虚拟机。每个 VM 都配置了两个 4 核 CPU(8 个逻辑处理器)。要限制在虚拟机上触发 CPU 峰值保护的进程,要使用其内核的一半,请将 CPU 内核使用限制 设置为 4(虚拟机逻辑处理器的一半),而不是 48(物理机逻辑处理器的一半)。

启用后,如果进程在一段时间内(在示例时间限制字段中指定)超过指定的 CPU 使用率百分比,则会在一段时间内(在空闲优先时间字段中指定)降低进程的 CPU 优先级。

自动防止 CPU 峰值。使用此选项可自动降低 CPU 负载过重的进程的 CPU 优先级。此选项会根据逻辑处理器(CPU 内核)的数量自动计算触发 CPU 峰值保护的阈值。例如,假设有 4 个内核。启用此选项后,如果总 CPU 使用率超过 23%,则占用总 CPU 资源 15% 以上的进程的 CPU 优先级会自动降低。同样,在 8 个内核的情况下,如果总 CPU 使用率超过 11%,则占用超过 8% CPU 资源的进程的 CPU 优先级会自动降低。

自定义 CPU 峰值保护。允许您自定义 CPU 峰值保护的设置。

  • CPU 使用限制。任何进程实例必须达到的 CPU 使用率百分比才能触发 CPU 峰值保护。此限制在服务器中的所有逻辑处理器中都是全局性的,并且是逐个进程确定的。在确定 CPU 峰值保护触发器时,同一进程的多个实例不会添加其 CPU 使用率百分比。如果进程实例永远不会达到此限制,则不会触发 CPU 峰值保护。例如,在服务器 VDA 上,在多个并发会话中,假设存在许多 iexplore.exe 实例。每个实例在一段时间内峰值约为 35% 的 CPU 使用率,因此,累计时,iexplore.exe 始终消耗较高的 CPU 使用率。但是,除非您将 CPU 使用限制设置为 35% 或低于 35%,否则不会触发 CPU 峰值保护。
  • 采样时间限制。进程在降低其 CPU 优先级之前必须超过 CPU 使用限制的时间长度。
  • 空闲优先时间。降低进程 CPU 优先级的时间长度。在此时间之后,优先级返回到以下之一:
    • 如果未在 CPU 优先级磁贴中指定进程优先级且未选中 “ 启用智能 CPU 优化” 选项,则为默认级别(普通 )。
    • 如果在 CPU 优先级磁贴中指定了进程优先级,则为指定的级别,无论是否选择了 “ 启用智能 CPU 优化 ” 选项。
    • 取决于进程的行为的随机级别。如果未在 CPU 优先级磁贴中指定进程优先级,并且选择了 “ 启用智能 CPU 优化 ” 选项,则会出现这种情况。进程触发 CPU 峰值保护越频繁,其 CPU 优先级就越低。

启用 CPU 核心使用限制。将触发 CPU 峰值保护的进程限制为计算机上指定数量的逻辑处理器。在 1 到 X 的范围内键入一个整数,其中 X 是内核的总数。如果键入的整数大于 X,则默认情况下 WEM 会将隔离进程的最大消耗量限制为 X。

  • CPU 核心使用限制。指定触发 CPU 峰值保护的进程受限于的逻辑处理器数量。对于 VM,您键入的值将进程限制为虚拟机中的逻辑处理器数量,而不是底层物理硬件中的逻辑处理器数量。

启用智能 CPU 优化。启用后,代理会智能地优化触发 CPU 峰值保护的进程的 CPU 优先级。反复触发 CPU 峰值保护的进程在启动时分配的 CPU 优先级会逐渐低于行为正确的进程。请注意,WEM 不会为以下系统进程执行 CPU 优化:

  • Taskmgr
  • 系统空闲进程
  • 系统
  • Svchost
  • LASS
  • Wininit
  • services
  • csrss
  • audiodg
  • MsMpEng
  • NisSrv
  • mscorsvw
  • vmwareresolutionset

启用智能 I/O 优化。启用后,代理会智能地优化触发 CPU 峰值保护的进程的进程 I/O 优先级。反复触发 CPU 峰值保护的进程在启动时被分配的 I/O 优先级逐渐低于行为正确的进程。

排除进程。默认情况下,WEM CPU 管理会排除所有最常见的 Citrix 和 Windows 核心服务进程。但是,您可以使用此选项从排除列表中 添加删除 进程,以便按可执行文件名称(例如 notepad.exe)进行 CPU 峰值保护。通常情况下,防病毒进程将被排除在外。

提示:

  • 要停止防病毒扫描在会话中接管磁盘 I/O,还可以将防病毒进程的静态 I/O 优先级设置为低,请参阅 I/O 管理
  • 当进程触发 CPU 峰值保护并降低了进程 CPU 优先级时,WEM 每次降低进程的 CPU 优先级时都会记录一条警告。在事件日志的应用程序和服务日志,Norskale Agent Service中,查找 正在初始化进程限制线程

防止子进程继承 CPU 优先级。指定不希望其子进程继承 CPU 优先级的进程。

CPU 优先级

启用后,允许您手动设置进程的 CPU 优先级。

如果进程竞争资源,这些设置将生效。它们允许您优化特定进程的 CPU 优先级级别,以便竞争 CPU 处理器时间的进程不会造成性能瓶颈。当进程相互竞争时,优先级较低的进程将在优先级较高的其他进程之后提供服务。因此,它们不太可能消耗总 CPU 消耗量如此大的份额。

您在此设置的进程优先级为进程中的所有线程建立了“基本优先级”。线程的实际或“当前”优先级可能更高(但永远不会低于基数)。当计算机上运行多个进程时,处理器时间将根据它们的 CPU 优先级在它们之间共享。进程的 CPU 优先级越高,分配给它的处理器时间就越多。

注意:

如果在特定进程上设置较低的 CPU 优先级级别,则总 CPU 消耗不一定会减少。可能还有其他进程(具有较高 CPU 优先级)仍会影响 CPU 使用率百分比。

要添加流程,请单击 “ 添加流程”。指定以下信息,然后单击 “ 保存进程”:

  • 进程名称。没有扩展名的进程可执行文件名称。例如,对于 Windows 资源管理器 (explorer.exe),请键入“explorer”。
  • Priority(优先级)。进程中所有线程的“基本”优先级。进程的优先级越高,处理器获得的时间就越多。从 “ 闲”、“ 低于正常水平”、“正 ”、“ 高于正常”、“ ” 和 “ 实时” 中选择。

提示:

您在此处设置的进程 CPU 优先级将在代理接收新设置并重新启动进程时生效。

要删除进程,请单击进程旁边的省略号,然后选择删除

要编辑进程,请单击进程旁边的省略号,然后选择编辑

CPU 相关性

启用后,允许您定义一个进程使用多少个 “逻辑处理器”。例如,您可以将在 VDA 上启动的记事本的每个实例限制为定义的内核数。

要添加流程,请单击 “ 添加流程”。指定以下信息,然后单击 “ 保存进程”:

  • 进程名称。进程可执行文件名称(例如 notepad.exe)。
  • 相关性。输入一个正整数。

要删除进程,请单击进程旁边的省略号,然后选择删除

要编辑进程,请单击进程旁边的省略号,然后选择编辑

CPU 固定

启用后,允许您阻止进程使用超过指定百分比的 CPU 处理能力。CPU 限制可防止进程使用超过 CPU 处理能力的指定百分比。当 WEM 达到指定的 CPU 百分比时,WEM “限制”(或 “夹紧”)该进程。这样可以防止进程占用大量 CPU。

注意:

  • CPU 固定是一种蛮力方法,计算上很昂贵。为了人为地保持麻烦进程的 CPU 使用率较低,最好使用 CPU 峰值保护,同时为这些进程分配静态 CPU 优先级和 CPU 关联性。CPU 限制最好是为了控制那些在资源管理方面臭名昭著不好但不能放弃优先级的进程而保留 CPU 限制。
  • 在对某个进程应用一定百分比的 CPU 处理能力并稍后为同一进程配置不同的百分比后,选择 刷新 Agent 主机设置 以使更改生效。

您配置的固定百分比应用于服务器中任何单个 CPU 的总功率,而不是其包含的任何单独内核。(换句话说,四核 CPU 上的 10% 是整个 CPU 的 10%,而不是一个核心的 10%)。

要添加流程,请单击 “ 添加流程”。指定以下信息,然后单击 “ 保存进程”:

  • 进程名称。进程可执行文件名称(例如 notepad.exe)。
  • 百分比。输入一个正整数。

提示:

  • 当 WEM 固定进程时,它会将进程添加到 WEM 客户端初始化的监视列表中。您可以通过查看此内容来验证进程是否被固定。
  • 您还可以通过查看过程监视器并确认 CPU 消耗永远不会超过固定百分比来验证 CPU 固定是否正常工作。

要删除进程,请单击进程旁边的省略号,然后选择删除

要编辑进程,请单击进程旁边的省略号,然后选择编辑


内存管理

这些设置允许您通过 WEM 优化应用程序内存的使用。

如果启用这些设置,WEM 将计算进程正在使用的内存量以及进程所需的最小内存量,而不会失去稳定性。WEM 将差异视为内存过多。当进程变为空闲状态时, WEM 会将进程消耗的多余内存释放到页面文件中, 并优化进程以备后续启动。通常,应用程序在最小化到任务栏时变为空闲状态。

当应用程序从任务栏恢复时,它们最初在优化状态下运行,但可以根据需要继续消耗额外的内存。

同样,WEM 优化了用户在桌面会话期间使用的所有应用程序。如果在多个用户会话中有多个进程,则释放的所有内存可用于其他进程。此行为通过支持同一台服务器上的更多用户来增加用户密度。

优化空闲进程的内存使用情况

启用后,强制在指定时间内保持空闲状态的进程释放多余内存,直到它们不再空闲为止。

空闲采样时间。允许您指定进程被视为空闲的时间长度,之后它将被强制释放多余内存。在这段时间内,WEM 会计算进程使用的内存量以及进程所需的最小内存量,而不会失去稳定性。默认值为 120 分钟。

空闲状态限制。允许您指定 CPU 使用率的百分比,低于该百分比,进程被视为空闲。默认值为 1%。我们建议您使用的值不要大于 5%。否则,正在使用的进程可能会被误认为是空闲的,从而导致其内存被释放。

限制优化。允许您指定阈值限制,低于该阈值,WEM 可优化空闲应用程序的内存使用量。

从内存使用优化中排除进程。允许您将进程排除在内存使用优化之外。指定进程名称,例如 notepad.exe。

WEM 不会优化以下系统进程的应用程序内存使用情况:

  • rdpshell
  • wfshell
  • rdpclip
  • wmiprvse
  • dllhost
  • audiodg
  • msdtc
  • mscorsvw
  • spoolsv
  • smss
  • winlogon
  • svchost
  • taskmgr
  • System Idle Process
  • System
  • LSASS
  • wininit
  • msiexec
  • services
  • csrss
  • MsMpEng
  • NisSrv
  • Memory Compression

特定进程的内存使用限制

启用后,允许您通过设置进程可消耗的内存上限来限制进程的内存使用量。

警告:

将内存使用限制应用于某些进程可能会产生意外影响,包括系统响应速度缓慢。

要添加流程,请单击 “ 添加流程”。指定以下信息,然后单击 保存进程

  • 进程名称。输入要添加的进程的名称(例如 notepad.exe)。
  • 内存限制。输入内存使用限制。
  • 限制类型。从列表中选择限制模式。

    • 动态限制。允许您对指定的进程应用动态限制。此设置动态限制分配给指定进程的内存量。如果应用,则根据可用内存强制内存使用限制。因此,指定进程消耗的内存可能会超过指定的数量。
    • 静态限制。允许您对指定的进程应用静态限制。此设置始终限制分配给指定进程的内存量。如果应用,则限制进程消耗超过指定的内存量,无论可用内存量多少。因此,指定进程消耗的内存被限制在指定的数量上限。

要删除进程,请单击进程旁边的省略号,然后选择删除

要编辑进程,请单击进程旁边的省略号,然后选择编辑


I/O 管理

这些设置允许您优化某些进程的 I/O 优先级,以便争夺磁盘和网络 I/O 访问的进程不会导致性能瓶颈。例如,您可以使用 I/O 管理设置来限制磁盘带宽消耗的应用程序。

您在此设置的进程优先级为进程中的所有线程建立了“基本优先级”。线程的实际或“当前”优先级可能更高(但永远不会低于基数)。通常,Windows 在优先级较低的线程之前授予对优先级较高的线程的访问权限。

进程 I/O 优先级

启用后,允许您优化特定进程的 I/O 优先级,以便争夺磁盘和网络 I/O 访问的进程不会导致性能瓶颈。

要添加流程,请单击 “ 添加流程”。指定以下信息,然后单击 保存进程

  • 进程名称。输入不带扩展名的进程可执行文件名称。例如,对于 Windows 资源管理器 (explorer.exe),请键入“explorer”。
  • I/O 优先级。输入进程中所有线程的 “基本” 优先级。进程的 I/O 优先级越高,其线程获得 I/O 访问的速度越快。从 “ ”、“ 正常”、“ ”、“ 非常低” 中选择。

提示:

您在此处设置的进程 I/O 优先级将在代理收到新设置并且进程下次重新启动时生效。

要删除进程,请单击进程旁边的省略号,然后选择删除

要编辑进程,请单击进程旁边的省略号,然后选择编辑


快速注销

这些设置允许您立即终止与远程会话的 HDX 连接。这样做会给用户留下会话已立即关闭的印象。但是,会话本身会在 VDA 上的后台继续通过会话注销阶段。

注意:

快速注销仅支持 Citrix 虚拟应用程序和 RDS 资源。

启用后,将为此配置集中的所有用户启用快速注销。用户将立即注销,而会话注销任务在后台继续执行。

要排除特定组,请执行以下步骤:

  1. 依次选择 排除指定组添加组。此时 将出现 “添加要排除的组 ” 向导。

  2. 选择身份类型。

  3. 选择要添加的组所在的域。

  4. 在搜索框中,输入要添加的组的名称。(搜索不区分大小写。)

  5. 单击加号图标以添加组。

  6. 完成后,单击 “ 保存 ” 以添加组并退出 “ 将组添加到排除 ” 向导。


Citrix Optimizer

这些设置允许您优化用户环境以获得更好的性能。Citrix Optimizer 运行用户环境的快速扫描,然后应用基于模板的优化建议。

您可以通过两种方式优化用户环境:

  • 使用内置模板执行优化。为此,请选择适用于操作系统的模板。
  • 或者,使用所需的特定优化创建自己的自定义模板,然后将模板添加到 Workspace Environment Management (WEM) 中。

要获取可自定义的模板,请使用以下任一方法:

  • 使用独立 Citrix Optimizer 提供的模板构建器功能。在 https://support.citrix.com/article/CTX224676 上下载独立的 Citrix Optimizer。模板构建器功能允许您构建自己的自定义模板以上传到 WEM。
  • 在代理主机(安装了 WEM 代理的计算机)上,导航到 <C:\Program Files (x86)>\Citrix\Workspace Environment Management Agent\Citrix Optimizer\Templates 文件夹,选择默认模板文件,然后将其复制到方便的文件夹中。自定义模板文件以反映您的具体情况,然后将自定义模板上传到 WEM。

启用后,您可以配置以下设置:

每周运行。如果选择此选项,WEM 每周运行一次优化。如果未选择 “ 每周运行 ”,则 WEM 的行为如下:

  • 第一次向 WEM 添加模板时,WEM 会运行相应的优化。除非稍后对该模板进行更改,否则 WEM 仅运行一次优化。更改包括将其他模板应用于操作系统以及启用或禁用模板。
  • 每次更改模板时,WEM 都会运行一次优化。

要添加自定义模板:

  1. 单击 添加自定义模板

  2. 添加自定义模板 向导中,完成以下步骤:

    1. 对于 模板名称,单击 浏览 ,然后选择要添加的模板。
    2. 对于 “ 适用的操作系统”,从列表中选择要应用模板的一个或多个操作系统。

      提示:

      你可以添加列表中没有但模板适用的Windows 10操作系统。通过键入内部版本号来添加这些操作系统。请务必用分号 (;) 分隔操作系统。例如,2001;2004。

    3. 根据需要选择要激活的组。
    4. 单击保存

重要:

Citrix Optimizer 不支持导出自定义模板。添加自定义模板后,保留自定义模板的本地副本。

您可以使用 “ 状态 ” 列中的切换按钮在启用和禁用状态之间切换模板。如果禁用,则代理将不处理模板,并且 WEM 不运行与模板关联的优化。

要删除模板,请选择适用模板的省略号,然后选择删除。注意:您无法删除内置模板。

要编辑模板,请选择适用模板的省略号,然后选择编辑

要查看模板的详细信息,请选择适用模板的省略号,然后选择预览

注意:

对于非持久性 VDI 环境,WEM 遵循相同的行为 — 在计算机重新启动时,对环境的所有更改都将丢失。对于 Citrix Optimizer,WEM 每次重新启动计算机时都会运行优化。

自动选择要使用的模板。如果您不确定要使用哪个模板,请使用此选项让 WEM 为每个操作系统选择最匹配的模板。如果要使用自定义模板作为首选模板,请输入逗号分隔的前缀列表。自定义模板遵循以下名称格式: - prefix_<os version>_<os build> - prefix_Server_<os version>_<os build>

对 Citrix Optimizer 设置的更改需要一些时间才能生效,具体取决于您在旧版控制台的高级设置 > 配置 > 服务选项选项卡上为 SQL 设置刷新延迟选项指定的值。

要使更改立即生效,请导航到监视 > 管理 > 客户端,找到代理,然后从更多菜单中选择处理 Citrix Optimizer

提示:

新更改可能无法立即生效。我们建议您在选择处理 Citrix Optimizer 之前选择刷新代理主机设置


多会话优化

通过这些设置,您可以优化具有断开连接会话的多会话操作系统计算机,以获得更好的连接会话体验。

多会话操作系统计算机从一台计算机运行多个会话,以便向用户交付应用程序和桌面。断开连接的会话保持活动状态,其应用程序继续运行。断开连接的会话可能会占用在同一台计算机上运行的已连接桌面和应用程序所需的资源。通过这些设置,您可以优化具有断开连接会话的多会话操作系统计算机,以获得更好的连接会话体验。

启用后,将优化存在断开连接会话的多会话操作系统计算机。默认情况下,多会话优化处于禁用状态。此功能通过限制断开连接的会话可以消耗的资源数来改善已连接会话的用户体验。会话保持断开连接一分钟后,WEM 代理会降低与会话关联的进程或应用程序的 CPU 和 I/O 优先级。然后,代理会对会话可以消耗的内存资源量施加限制。如果用户重新连接到会话,WEM 将恢复优先级并删除限制。

排除群组

要从多会话优化中排除特定组,请执行以下步骤:

  1. 选择 排除指定的组 ,然后单击 添加组。此时 将出现 “添加要排除的组 ” 向导。

  2. 选择身份类型。

  3. 选择要添加的组所在的域。

  4. 在搜索框中,输入要添加的组的名称。输入组的全名。(搜索不区分大小写。)

  5. 单击加号图标以添加组。

  6. 完成后,单击 “ 保存 ” 以添加组并退出 “ 将组添加到排除 ” 向导。

排除进程

要从多会话优化中排除特定流程,请单击 “ 添加流程”,浏览到要添加的流程,然后单击 “ 保存流程”。

要删除进程,请单击进程旁边的省略号,然后选择删除

要编辑进程,请单击进程旁边的省略号,然后选择编辑