ITPub博客

首页 > 数据库 > > 计算资源管理-CPU资源管理

计算资源管理-CPU资源管理

作者:GaussDB_数据库 时间:2020-01-14 15:39:55 0 删除 编辑

背景信息

在设置控制组章节已经通过Cgroup设置了资源配额,此设置限制了同级控制组都有作业时CPU最大可使用配额。此时下层控制组百分之百占用上层控制组的CPU核资源,未进行CPU核资源的隔离。

系统还支持通过更新控制组信息指定可以使用的CPU核资源。支持对Gaussdb、Class控制组、Workload控制组的CPU核资源进行管理。

前提条件

已熟悉gs_cgroup和gs_ssh的使用。

操作步骤

  1. 以操作系统用户omm登录GaussDB 200集群任一主机。执行source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile命令启动环境变量。
  1. 更新Gaussdb的CPU核资源范围。
    gs_ssh -c "gs_cgroup -u -T Gaussdb -f 0-20"
    更新顶层Class控制组占Gaussdb总CPU核资源的70%
  2. gs_ssh -c "gs_cgroup -u -T Class -t 70 --fixed"
  3. 更新子Class控制组“class_a”的CPU核资源占顶层Class总CPU核资源的60%。
    gs_ssh -c "gs_cgroup -u -S class_a -s 60 --fixed"
  4. 更新Workload控制组“workload_a1”的CPU核资源占“class_a”总CPU核资源的30%。
    gs_ssh -c "gs_cgroup -u -S class_a -G workload_a1 -g 30 --fixed"
     说明:
    • 设置核数占比后,系统经过换算,得出所要设置的控制组的核数范围。换算规则为:遇到小数点五舍六入,且小于1按照1来处理,例如0.1和 0.9,都取1,1.5取1,而1.6取2来处理。

      例如假设同一个子Class下有3个Workload控制组,子Class控制组有0-31共32个核。Workload1使用子Class控制组核数资源的百分之80,Workload2使用了百分之10,Workload3使用了最后剩余的百分之10。则Workload1占用26(32*80%五舍六入)个核,即0-25的26个核,Workload2组则占用3个核(32*10%五舍六入),即26-28的3个核,Workload3占用29-31的3个核。

    • 在剩余的核数不足的时候,将会有两个组的某个核重合的现象。例如可能出现Workload1组使用0-1,而Workload2组使用1-11这样的情况。用户在设置比例的时候,为了避免这样的情况,建议提前规划和计算。

查看CPU核资源的配置信息

执行如下命令查看CPU核资源的配置信息。

gs_cgroup -p
Top Group information is listed:
GID: Type: Top Percent(%): 1000( 50) Name: Root Cores: 0-7
GID: 1 Type: Top Percent(%): 833( 83) Name: Gaussdb:omm Cores: 0-7
GID: 2 Type: Top Percent(%): 333( 40) Name: Backend Cores: 0-7
GID: 3 Type: Top Percent(%): 499( 60) Name: Class Cores: 0-7


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3164475/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19288