GBase 8c
运维管理
文章

gs_cgroup工具说明

GBase社区管理员
发表于2024-02-05 11:01:08106次浏览0个评论

集群环境下做批量任务处理时,多任务复杂性会导致不同机器间的负载差距很大。为了充分利用集群资源,负载管理变得尤为重要。gs_cgroup是GBase 8c提供的负载管理工具。负责创建默认控制组、创建用户自定义控制组、删除用户自定义控制组、更新用户自定义组的资源配额和资源限额、显示控制组配置文件内容、显示控制组树形结构和删除用户的所有控制组。

gs_cgroup工具为使用数据库的操作系统用户创建Cgroups配置文件,并且在操作系统中生成用户设定的Cgroups。同时为用户提供增加、删除Cgroups、更新Cgroups资源配额、设定Cgroups的CPU或IO限额、设定异常处理阈值及相应操作等服务。此工具只负责当前操作系统节点的Cgroups操作,使用时需在各个节点上调用相同命令语句进行统一配置。

语法

gs_cgroup [OPTION]

参数说明

  • -a [--abort]

对满足设定的异常阈值的作业执行终止动作。

  • -b pct

Backend Cgroups占用Top Backend资源的百分比,需同时指定-B backendname参数。

取值范围:为1 ~ 99。在不进行设置的情况下,默认CPU配额设置为Vacuum控制组占20%,DefaultBackend控制组占80%。Vacuum和DefaultBackend控制组配额之和设置应小于100%。

  • -B name

Backend Cgroups名称,仅可指定-u参数来更新此Cgroups的资源配额。

-b percent和-B backendname参数共同作用来控制数据库后备线程的资源比例。

取值范围:字符串,最长为64个字节。

  • -c

创建Cgroups并指定其标识。

普通用户指定“-c”和“-S classname”可以创建新的Class Cgroups,如果再指定“-G groupname”则创建属于Class Cgroups的Workload Cgroups,新的Workload Cgroups位于Class Cgroups的最底层(4层是最底层)。

  • -d

删除Cgroups及标识。

普通用户指定“-d”和“-S classname”可以删除已有的Class Cgroups,如果再指定“-G groupname”则删除属于Class Cgroups的Workload Cgroups,并将附属的线程重置到“DefaultClass:DefaultWD:1”Cgroups中;若删除的Workload Cgroups位于Class Cgroups的高层(1层是最高层),则需调整低层的Cgroups的层级,重建新的Cgroups附属的线程加载到新的Cgroups。

  • -E data

设定异常阈值,目前阈值包括:blocktime、elapsedtime、allcputime、spillsize、broadcastsize以及qualificationtime和cpuskewpercent,指定多个阈值时用“,”分隔。参数值0表示取消设置,设置不合法的值时会提示。

评论已关闭