CPU 和 RAM 过度承诺

OpenStack 允许您在计算节点上过度承诺 CPU 和 RAM。 这允许您增加云中运行的实例数量,但代价是降低实例的性能。 计算服务默认使用以下比率:

  • CPU 分配比率:16:1

  • RAM 分配比率:1.5:1

警告

使用高于 1:1 的 RAM 分配比率可能会影响正在运行的虚拟机,如果超visor 上所有可用内存都被使用。 如果没有足够的交换空间,系统将不得不依赖 OOM killer 来释放空间,这会对正在运行的虚拟机产生不利影响。

默认 CPU 分配比率 16:1 表示调度器为每个物理核心分配最多 16 个虚拟核心。 例如,如果物理节点有 12 个核心,则调度器会看到 192 个可用的虚拟核心。 采用典型的 4 个虚拟核心/实例的风味定义,该比率将在物理节点上提供 48 个实例。

计算节点上虚拟实例数量的公式为 (OR*PC)/VC,其中

OR

CPU 过度承诺比率(每个物理核心的虚拟核心数)

PC

物理核心数

VC

每个实例的虚拟核心数

类似地,默认 RAM 分配比率 1.5:1 表示调度器将实例分配到物理节点,只要与实例关联的 RAM 总量小于物理节点上可用 RAM 的 1.5 倍。

例如,如果物理节点有 48 GB 的 RAM,则调度器将实例分配到该节点,直到与实例关联的 RAM 总和达到 72 GB(例如,在每个实例有 8 GB RAM 的情况下,为九个实例)。

注意

无论过度承诺比率如何,实例都不能放置在任何资源(预过度承诺)少于实例风味要求的物理节点上。

您必须为您的特定用例选择适当的 CPU 和 RAM 分配比率。