CREATE RESOURCE GROUP语句
CREATE RESOURCE GROUP group_nameTYPE = {SYSTEM |USER } [VCPU [=] vcpu_spec [, vcpu_spec] ...] [THREAD_PRIORITY [=] N] [ENABLE |DISABLE ] vcpu_spec: {N | M - N}
CREATE RESOURCE GROUP
用于资源组管理(请参见“资源组”)。该语句创建一个新的资源组并分配其初始属性值。它需要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,10VCPU = 0-3,9-10VCPU = 9,10,0-3VCPU = 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 rg1TYPE =USER VCPU = 0THREAD_PRIORITY = 19;创建一个禁用的系统组,该组没有CPU关联(可以使用所有CPU)并且具有最高优先级:
CREATE RESOURCE GROUP rg2TYPE =SYSTEM THREAD_PRIORITY = -20DISABLE ;
资源组管理对于发生它的服务器是本地的。CREATE RESOURCE GROUP
语句不会写入二进制日志,也不会被复制。