CPU资源管理
背景信息
在设置控制组章节已经通过Cgroup设置了资源配额,此设置限制了同级控制组都有作业时CPU最大可使用配额。此时下层控制组百分之百占用上层控制组的CPU核资源,未进行CPU核资源的隔离。
系统还支持通过更新控制组信息指定可以使用的CPU核资源。支持对Gaussdb、Class控制组、Workload控制组的CPU核资源进行管理。
前提条件
已熟悉gs_cgroup和gs_ssh的使用。
操作步骤
- 以操作系统用户omm登录GaussDB 200集群任一主机。执行source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile命令启动环境变量。
- 更新Gaussdb的CPU核资源范围。
gs_ssh -c "gs_cgroup -u -T Gaussdb -f 0-20"- 更新顶层Class控制组占Gaussdb总CPU核资源的70%
gs_ssh -c "gs_cgroup -u -T Class -t 70 --fixed"- 更新子Class控制组“class_a”的CPU核资源占顶层Class总CPU核资源的60%。
gs_ssh -c "gs_cgroup -u -S class_a -s 60 --fixed"- 更新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 -pTop Group information is listed: GID: 0 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
查看更多:华为GaussDB 200 计算资源管理「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」关注作者【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。评论
- 设置核数占比后,系统经过换算,得出所要设置的控制组的核数范围。换算规则为:遇到小数点五舍六入,且小于1按照1来处理,例如0.1和 0.9,都取1,1.5取1,而1.6取2来处理。
- 更新Workload控制组“workload_a1”的CPU核资源占“class_a”总CPU核资源的30%。
- 更新顶层Class控制组占Gaussdb总CPU核资源的70%




