跳过导航链接 | |
退出打印视图 | |
Oracle VM Server for SPARC 2.2 管理指南 Oracle VM Server for SPARC (简体中文) |
第 1 部分Oracle VM Server for SPARC 2.2 软件
1. Oracle VM Server for SPARC 软件概述
3. Oracle VM Server for SPARC 安全
与其他 Oracle VM Server for SPARC 功能的交互
第 2 部分可选的 Oracle VM Server for SPARC 软件
13. Oracle VM Server for SPARC 物理机到虚拟机转换工具
14. Oracle VM Server for SPARC Configuration Assistant (Oracle Solaris 10)
15. 使用 Oracle VM Server for SPARC 管理信息库软件
16. Logical Domains Manager 发现
您可以使用动态 CPU 线程控制来优化 SPARC T4 系统上的工作负荷性能。
这些线程控制可允许您指定在每个核心上要激活的硬件线程数量。现有的应用程序可利用 SPARC CPU 的动态线程性能优势,而无需进行重写或重新编译。
本节介绍如何使用 CPU 线程控制来优化 SPARC T4 系统上的 CPU 性能。可以将 CPU 核心数调节为使用最大 CPU 线程数量,以便优化 CPU 性能,从而获得最大吞吐量。默认情况下,会调节 CPU 以获得最大吞吐量。或者,可以调节 CPU 核心数以最大限度地提高每周期指令 (instructions per cycle, IPC) 数量,以便针对计算密集型 (CPU-bound) 工作负荷优化 CPU 性能。
在 SPARC T4 系统上,您可以指定 CPU 线程模式来优化 CPU 性能。可以动态地为系统上的每个域单独设置线程模式。更改线程模式不需要重新引导,且在域重新引导和平台关开机循环后会保留设置的模式。
通过选择适当的 CPU 线程模式,您可以提高在域上运行的应用程序和工作负荷的性能。您可以选择线程模式,以最大限度地提高吞吐量或最大限度地提高每周期指令数量,如下所示:
最大限度地提高吞吐量 (max-throughput)。从高吞吐量中获益最多的工作负荷是运行大量软件并执行大量 I/O 操作的工作负荷。进行优化以实现最大吞吐量时,将允许 CPU 核心同时运行最大数量的硬件线程。此模式最适合运行混合应用程序工作负荷以及高度多线程的工作负荷(例如,由 Web 服务器、数据库服务器和文件服务器执行的工作负荷)。默认情况下会使用此模式,在较早的 SPARC T 系列平台(例如 SPARC T3 平台)上也会使用此模式。
最大限度地提高 IPC (max-ipc)。从高 IPC 中获益最多的工作负荷通常是计算密集型 (CPU-bound) 单线程应用程序,例如运行大量运算的系统。进行优化以实现最大 IPC 时,将允许 CPU 线程在每个 CPU 周期中执行更多指令。此优化通过减少相同 CPU 核心上同时活动的 CPU 线程数量来实现。
可使用 ldm add-domain 或 ldm set-domain 命令设置 threading 属性,来为域选择 CPU 线程模式。
ldm add-domain [threading=max-throughput|max-ipc] ldom ldm set-domain [threading=max-throughput|max-ipc] ldom
threading 属性用于动态更改线程模式,方法是指定下列值之一:
max-throughput。使用此值可选择最大限度提高吞吐量的线程模式。此模式可激活分配给域的所有线程。默认情况下会使用此模式;如果您不指定任何模式 (threading=),也会选择此模式。
max-ipc。使用此值可选择最大限度提高每周期指令 (instructions per cycle, IPC) 数量的线程模式。在 SPARC T4 平台上使用此模式时,仅会为分配给域的每个 CPU 核心激活一个线程。要求域已配置整体核心约束,才能选择此模式。
使用 ldm add-core 或 ldm set-core 命令可配置整体核心约束。请参见 ldm(1M) 手册页。
请注意,更改线程模式可动态激活或取消激活 CPU 线程。因此,域中的可用虚拟 CPU 数量也会动态地发生更改。
max-ipc 线程模式会利用整体核心约束,因此您必须按照整体核心约束的要求和限制来执行以下操作:
更改分配给域的核心数量。
启用或禁用整体核心约束。
因此,要将运行中域的线程模式动态更改为 max-ipc 模式,您必须为该域配置整体核心约束。
有关限制的信息,请参见线程控制限制。有关 add-domain 和 set-domain 子命令的更多信息,请参见 ldm(1M) 手册页。
可以使用以下命令查看 threading 属性值:
ldm list -o resmgmt 命令可显示约束。以下示例输出显示 threading 属性设置为 max-ipc:
# ldm list -o resmgmt ldg1 NAME ldg1 CONSTRAINT whole-core max-cores=3 threading=max-ipc
ldm list -o cpu 命令通过在 UTIL 列中指定值 0,来显示取消激活的虚拟 CPU。以下 max-ipc 示例中的粗体字显示每个 CPU 上仅激活了一个线程:
# ldm list -o cpu ldg1 NAME ldg1 VCPU VID PID CID UTIL STRAND 0 8 1 0.3% 100% 1 9 1 0 100% 2 10 1 0 100% 3 11 1 0 100% 4 12 1 0 100% 5 13 1 0 100% 6 14 1 0 100% 7 15 1 0 100% 8 24 2 0.4% 100% ...
ldm list -l 命令包括有关所指定域的所有信息。以下示例中的粗体字显示 threading 属性设置为 max-ipc:
# ldm list -l ldg1 ... VID PID CID UTIL STRAND 0 8 1 0.6% 100% 1 9 1 0 100% 2 10 1 0 100% 3 11 1 0 100% 4 12 1 0 100% 5 13 1 0 100% 6 14 1 0 100% ... CONSTRAINT whole-core max-cores=3 threading=max-ipc ...
线程控制功能具有以下限制:
整体核心约束限制适用。请参见CPU 分配。
在迁移域后,不会保留 threading 属性值。
启用电源管理 (power management, PM) 时,无法将 threading 属性设置为 max-ipc。
在运行 PM 时,所有域都必须将 threading 属性设置为 max-throughput。