跳过导航链接
退出打印视图
| Oracle VM Server for SPARC 2.0 管理指南

搜索范围:

- 本文档
- 整个文档库

### CPU 分配

CPU 分配机制针对 CPU 资源使用以下约束和提示：

- 整体核心约束。此约束指定基于指定的 CPU 核心数将虚拟 CPU 分配给域。系统必须能够分配指定数目的核心，还必须能够将这些分配了核心的所有虚拟 CPU 分配给域。如果系统无法分配指定数目的核心，则无法绑定域。

- 最大核心数约束。此约束指定可以分配给绑定域或活动域的最大核心数。在域上设置整体核心约束后会自动启用此约束。在这种情况下，系统会将最大核心数自动设置为在域处于非活动状态时所配置的核心数。目前，无法独立于整体核心约束启用此约束，而且无法手动设置最大核心数。

- 核心关联性提示。此提示请求基于相同的 CPU 核心或最少数目的 CPU 核心为域分配虚拟 CPU。系统会尽最大可能来实现此请求。仅当系统上没有足够的可用虚拟 CPU 时，才无法绑定域。

  默认情况下启用核心关联性提示，并且无法禁用它。

注 - 整体核心约束和核心关联性提示仅对虚拟 CPU 在核心上的位置进行寻址。它们不对核心在芯片上的位置或芯片在插槽上的位置进行寻址。

#### 启用整体核心约束

当您指定要分配给域的核心数时，将会自动启用整体核心约束。默认情况下，需指定要分配给域的虚拟 CPU。只能在非活动域上而不能在绑定域或活动域上启用整体核心约束。在控制域上启用整体核心约束之前，必须先启动延迟重新配置。

使用 `ldm add-vcpu -c number`、`ldm set-vcpu -c number` 或 `ldm remove-vcpu -c number` 命令将 CPU 核心分配给域或从域中删除 CPU 核心。number 指定 CPU 核心的数量并启用整体核心约束。有关更多信息，请参见 `ldm`(1M) 手册页。

可以在之前已配置虚拟 CPU 的域上使用 `ldm add-vcpu -c number` 或 `ldm remove-vcpu -c number` 命令。在这种情况下，现有虚拟 CPU 数将自动转换为相应核心数。仅当现有虚拟 CPU 数是每个核心内虚拟 CPU 数的倍数时，才可能发生此转换操作。否则，不会执行转换操作，且命令将失败。

注 - 如果使用这些命令以延迟重新配置模式在非活动域或控制域上启用整体核心约束，则也会设置最大核心数。在绑定域或活动域上使用这些命令时，最大核心数不受影响。

例如，一个核心由八个虚拟 CPU 组成。如果为某域分配了七个虚拟 CPU，则 `ldm add-vcpu -c` 或 `ldm remove-vcpu -c` 命令可能无法满足整体核心约束。此时应使用 `set-vcpu -c` 命令指定核心数并启用整体核心约束。

以下示例在非活动域 `ldg1` 上启用整体核心约束。`ldm list` 命令可验证整体核心约束是否已启用。

    primary# ldm add-vcpu -c 1 ldg1
    primary# ldm list -o resmgmt ldg1
    NAME
    ldg1
    CONSTRAINT
       whole-core
       max-cores=1

注 - 如果在域上启用整体核心约束，则增加核心时不会影响与这些核心关联的加密单元。因此，系统不会自动向域添加关联的加密单元或从域中删除关联的加密单元。而且，如果已将相应的加密单元分配给域，则无法删除核心。

#### 禁用整体核心约束

如果为域分配虚拟 CPU 而不是核心，则会禁用整体核心约束。只能在非活动域上而不能在绑定域或活动域上禁用整体核心约束。在控制域上禁用整体核心约束之前，必须先启动延迟重新配置。

使用 `ldm add-vcpu number`、`ldm set-vcpu number` 或 `ldm remove-vcpu number` 命令将虚拟 CPU 分配给域或从域中删除虚拟 CPU。number 指定虚拟 CPU 的数量并禁用整体核心约束。有关更多信息，请参见 `ldm`(1M) 手册页。

可以在之前已配置 CPU 核心的域上使用 `ldm add-vcpu number` 或 `ldm rm-vcpu number` 命令。在这种情况下，现有 CPU 核心数将自动转换为相应的虚拟 CPU 数。

注 - 如果禁用整体核心约束，也会自动禁用最大核心约束。

以下示例在非活动域 `ldg1` 上禁用整体核心约束：

    primary# ldm set-vcpu 1 ldg1

#### 将 CPU 分配到控制域

要在控制域上启用整体核心约束，控制域必须处于延迟重新配置模式下。仅当可用 CPU 核心数足以满足请求的约束时，才能成功在控制域上启用整体核心约束。也就是说，必须具有未使用的核心、控制域已使用的核心或控制域部分使用的核心。否则，控制域上的 CPU 分配将保持不变。

注 - 如果控制域处于延迟重新配置模式下，整体核心约束和核心数设置也会指定最大核心数。

以下示例在控制域 (`primary`) 上启用整体核心约束。首先，在控制域上启动延迟重新配置。接下来向控制域分配一个整体核心，然后重新引导域，使更改生效。

    primary# ldm start-reconf primary
    Initiating a delayed reconfiguration operation on the primary domain.
    All configuration changes for other domains are disabled until the
    primary domain reboots, at which time the new configuration for the
    primary domain also takes effect.

    primary# ldm add-vcpu -c 1 primary
    primary# reboot

#### 整体核心约束和其他域功能之间的交互作用

本节介绍整体核心约束和以下功能之间的交互作用：

- CPU 动态重新配置

- 动态资源管理

- 域迁移

- 电源管理

##### CPU 动态重新配置

整体核心约束与 CPU 动态重新配置 (dynamic reconfiguration, DR) 完全兼容。为域定义整体核心约束后，可以使用 `ldm add-vcpu -c`、`ldm set-vcpu -c` 或 `remove-vcpu -c` 命令更改活动域上的核心数。

但是，如果绑定域或活动域未处于延迟重新配置模式下，则其核心数不能超过最大核心数。最大核心数随最大核心约束进行设置，在启用整体核心约束时会自动启用该约束。任何不满足最大核心约束的 CPU DR 操作都将失败。

##### 动态资源管理

整体核心约束与动态资源管理 (dynamic resource management, DRM) 不兼容。如果在使用整体核心约束的域上启用 DRM 策略，系统会自动禁用该策略。整体核心约束会保持启用状态。

即使在使用整体核心约束时无法启用 DRM 策略，您仍可以为域定义 DRM 策略。请注意，自动禁用某策略后，它仍保持活动状态。如果重新启动域时没有启用整体核心约束，则会自动重新启用 DRM 策略。

以下为整体核心约束和 DRM 之间的预期交互作用关系：

- 如果在域上设置整体核心约束，当您尝试在该域上启用 DRM 策略时系统将发出警告消息。

- 如果是在非活动域上使用 DRM 策略，则允许您在该域上启用整体核心约束。当该域转为活动状态且 DRM 策略处于启用状态时，系统会为该域自动禁用 DRM 策略。

- 如果在活动域或绑定域上启用 DRM 策略，则不允许您启用整体核心约束。

##### 域迁移

CPU 整体核心配置与域迁移不兼容。但是，您仍可以迁移已配置 CPU 整体核心的域。要在进行了这样的迁移后恢复整体核心约束，请停止域并针对整体核心分配对其进行重新配置。

##### 电源管理

整体核心约束与电源管理 (power management, PM) 性能和弹性模式完全兼容。启用弹性模式后，PM 子系统可以向已配置整体核心约束的域添加 CPU 核心或从这些域中删除 CPU 核心。在这种情况下，整体核心约束继续保持启用状态，使用该约束的域仍保持仅配置整体核心。

版权所有 © 2007, 2010, Oracle 和/或其附属公司。 保留所有权利。 法律声明 |