• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • CREATE RESOURCE GROUP语句

    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用于资源组管理(请参见“资源组”)。该语句创建一个新的资源组并分配其初始属性值。它需要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的范围内。对系统和用户组使用不同的范围可以确保用户线程永远不会拥有更高的优先级。优先级高于系统线程。

    ENABLEDISABLE指定最初启用或禁用资源组。如果两者均未指定,则默认情况下启用该组。禁用的组不能为其分配线程。

    例子:

    • 创建具有单个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语句不会写入二进制日志,也不会被复制。