CREATE RESOURCE GROUP group_name
TYPE = {SYSTEM|USER}
[VCPU [=] vcpu_spec [, vcpu_spec] ...]
[THREAD_PRIORITY [=] N]
[ENABLE|DISABLE]
vcpu_spec: {N | M - N}
CREATE RESOURCE GROUP
用于资源组管理(参见
第 5.1.16 节,“资源组”)。此语句创建一个新资源组并为其分配初始属性值。它需要RESOURCE_GROUP_ADMIN
特权。
group_name
标识要创建的资源组。如果该组已经存在,则会发生错误。
该TYPE
属性是必需的。它应该
SYSTEM
用于系统资源组,
USER
用于用户资源组。组类型影响允许THREAD_PRIORITY
值,如后所述。
该VCPU
属性表示 CPU 亲和性;也就是说,该组可以使用的一组虚拟 CPU:
如果
VCPU
未给出,则资源组没有 CPU 关联并且可以使用所有可用的 CPU。如果
VCPU
给出,则属性值是逗号分隔的 CPU 编号或范围的列表:每个数字必须是 0 到 CPU 数量 − 1 范围内的整数。例如,在具有 64 个 CPU 的系统上,数字范围可以是 0 到 63。
M
范围以− 的形式给出N
,其中M
小于或等于N
并且两个数字都在 CPU 范围内。如果 CPU 编号是允许范围之外的整数或不是整数,则会发生错误。
示例VCPU
说明符(这些都是等效的):
VCPU = 0,1,2,3,9,10
VCPU = 0-3,9-10
VCPU = 9,10,0-3
VCPU = 0,10,1,9,3,2
该THREAD_PRIORITY
属性指示分配给该组的线程的优先级:
如果
THREAD_PRIORITY
未给出,则默认优先级为 0。如果
THREAD_PRIORITY
给出,则属性值必须在 -20(最高优先级)到 19(最低优先级)的范围内。系统资源组的优先级必须在 -20 到 0 的范围内。用户资源组的优先级必须在 0 到 19 的范围内。系统和用户组使用不同的范围确保用户线程永远不会有更高的优先级。优先于系统线程。
ENABLE
并DISABLE
指定资源组最初是启用还是禁用。如果两者均未指定,则默认启用该组。不能为禁用组分配线程。
例子:
创建具有单个 CPU 和最低优先级的已启用用户组:
CREATE RESOURCE GROUP rg1 TYPE = USER VCPU = 0 THREAD_PRIORITY = 19;
创建一个没有 CPU 亲和性(可以使用所有 CPU)且优先级最高的禁用系统组:
CREATE RESOURCE GROUP rg2 TYPE = SYSTEM THREAD_PRIORITY = -20 DISABLE;
资源组管理在发生它的服务器上是本地的。CREATE RESOURCE GROUP
语句不会写入二进制日志,也不会被复制。