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
用于资源组管理(参见 第 7.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
The 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
语句不会写入二进制日志,也不会复制。