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
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
语句不会写入二进制日志,也不会被复制。