如何启用CGroup限制YARN CPU使用率

0872-7.1.4-如何启用CGroup限制YARN CPU使用率https://mp.weixin.qq.com/s/6wARFLJWEb2rlZE6si9uug

为什么要限制yarn cpu的使用率?

cpu和core executor有什么关系 和我们说的几核几线程什么关系?

其实我理解的就是我们在spark上说的core就是几核几线程的 几线程,我们申请核的目的主要是为了计算,可以看作算力....,也就是说我们spark任务每次运行需要xxG内存,和xxcore的算力来处理任务。愚见。

node09这台服务器为16核32线程,我们在yarn里分配该机器为39.53 GB内存,32core(这里我觉得的分配的core不对,但不是重点)

测试

spark-submit --class org.apache.spark.examples.SparkPi     --master yarn-client --conf spark.dynamicAllocation.enabled=false  --num-executors 1     --driver-memory 512m     --executor-memory 512m     --executor-cores 1  spark-examples.jar 100000

注意后面的100000是为了让任务跑多点,持续的时间长好看到现象。

--spark.dynamicAllocation.enabled=false 是为了看单核的也就是占的cpu

----num-executors 1  executor-cores 1   是为了看一个core的现象

提交任务后

到node03 查看cpu情况

可以看到最开始的时候cpu占了140% 后面109 %跑到最后面稳定在90-100之间

那么这时候有个问题了,

我是num-executors 1  executor-cores 1  一台服务器上只用一个core按道理最多跑出一个核的100%的cpu,跑多了有啥影响呢?

作者原话

单个Vcore的使用率也可以超过100%,如果集群中CPU 使用率高的场景较多的情况下,因为超配的情况,就会出现即使有些作业能够分配Vcore,但是却没有实际物理cpu资源可调度,从而导致应用慢的情况。

举例。

我现在同时跑30个这种任务只申请一个core,按道理就是30G内存+30个core(假设都在这台机器),但是实际是回占用30G内存+30*1.4=42个cpu,本身是32线程,最多32个cpu,那么就会导致最多22个任务(22*14=30.8cpu)被运行,还有几个任务申请到了core和内存,但是这个core没用,因为实际的物理cpu全部被占用了

———————————————————————————————————————————

上面都是为了说明这个cpu超限制问题。

那么问题来了,怎么解决?按照作者说的,通过cgroup限制。其实这玩意就是虚拟核。

类似4核八线程,本身只有4核,但是能够模拟出8核出来,所以我们当作8核用。

这个cgroup是啥 就是把8核再虚拟下,例如虚拟2倍成16核,那么我们提交任务的时候还是

num-executors 1  executor-cores 1  ,实际上只申请了0.5核,也就是只会跑出50%的cpu

但是其中这里有个问题?我之前1核也跑出了140的cpu,这个0.5核按道理也可以跑出70的!!!

但是最后肯定是稳定在50%cpu。

同时这么做有什么好处和后果?

好处,将核更为细化,比如有的小任务就要0.5核就够了,

<property>
<name>yarn.nodemanager.resource.count-logical-processors-as-cores</name>
<value>true</value>
<description>是否将虚拟核当cpu 核心数</description>
</property>
<property>
<name>yarn.nodemanager.resource.detect-hardware-capabilities</name>
<value>true</value>
<description>YARN 自动探测CPU和内存</description>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>-1</value>
<description>关闭虚拟vcore配置,如物理机有启用超线程不关闭该参数无法读取到超线程核数</description>
</property>
<property><name>yarn.nodemanager.resource.pcores-vcores-multiplier</name>
<value>2.5</value>
<description>物理核与vcore的配比倍数</description>
</property>

如何启用CGroup限制YARN CPU使用率相关推荐

  1. 租用的服务器CPU使用率高的原因分析与解决办法

    我们租用的服务器在使用操作系统的时候,用着用着系统就变慢了,打开" 任务管理器 "一看,才发现CPU使用率达到80%以上.这是怎么回事情呢? 遇到病毒了吗?硬件有问题?还是系统设置 ...

  2. 查看cpu使用率_腾讯游戏开发工程师:Linux 机器 CPU 毛刺问题排查

    作者:jasonzxpan,腾讯 IEG 运营开发工程师 本文排查一个Linux 机器 CPU 毛刺问题,排查过程中不变更进程状态.也不会影响线上服务,最后还对 CPU 毛刺带来的风险进行了分析和验证 ...

  3. cpu使用率 htop显示_用top、vmstat、Htop、sar命令在Linux系统中检查CPU使用率/利用率...

    本文介绍使用top.vmstat.Htop.sar命令在Linux操作系统中检查CPU使用率/利用率,其实也可以在图形界面中通过工具查看的,可参考使用Stress Terminal UI在Linux终 ...

  4. k8s-自动横向伸缩pod 根据CPU使用率,QPS访问数监控指标

    k8s-自动横向伸缩pod 与节点 简述 我们可以通过调高ReplicationController. ReplicaSet. Deployment等可伸缩资源的rep让cas字段, 来手动实现pod ...

  5. .net runtime占用cpu_Go服务在容器内CPU使用率异常问题排查手记

    导语 本文介绍了公司"云化服务"的大背景下,将一个Go服务迁移至公司的基于K8s+docker的容器云平台,使用火焰图进行性能排查和优化方面的实践.欢迎在留言区进行阅读探讨. 背景 ...

  6. netty cpu 占用率 高_交换机CPU使用率高问题定位

    诊断工具 display工具 log工具 报文冲击导致的CPU使用率高问题 CPU使用率高问题信息采集 诊断工具 display cpu-usage [ slot x ] display cpu-de ...

  7. 电脑不启动任务管理器时cpu使用率很高,短时间内不使用电脑时启动为什么能耗可下降到15%以下?

    短时间不用电脑时,启用电脑的"睡眠"模式,能耗可下降到50%以下.关掉不用的程序和音箱.打印机等外-围设备:少让硬盘.软盘.光盘同时工作,适当降低显示器的亮度. 一些杀毒软件会对网 ...

  8. CPU使用率过高问题排查及Linux之top命令用法详解

    文章目录 问题 解决方案 top命令用法 top各输出参数含义 一.top前5行统计信息 二.进程信息 Top 1的用法 %CPU和us%的区别 问题 公司连续2天服务器告警CPU使用率过高问题,查看 ...

  9. VAX计算机CPU,解决“系统”进程的高CPU使用率

    要诊断CPU使用率问题,应使用Windows事件跟踪(ETW)捕获CPU采样数据/配置文件. Windows 10 WPT可以在Windows 8 / Server 2012,Windows 8.1 ...

最新文章

  1. 云计算读书笔记(五)
  2. javascript——Array类型
  3. 什么是关键字驱动框架(自动化测试)
  4. PowerShell自动删除过期数据
  5. [笔试题目] 美团2015年9月后端开发工程师笔试题
  6. 【Lucene4.8教程之中的一个】使用Lucene4.8进行索引及搜索的基本操作
  7. 【Python CheckiO 题解】Feed Pigeons
  8. 向量除法能用计算机吗,为什么向量没有除法
  9. 首批拟科创板IPO名单今日揭晓!
  10. AI芯片浮出新玩家OURS,来者何人?新晋图灵奖得主华人弟子谭章熹
  11. 用“企业架构”方法指导信息化规划
  12. chm文件打开时提示乱码
  13. DMZ区域的作用与原理
  14. JS | 涉及字符串的内置函数的一些题目
  15. day16 正则检测、匹配次数、分组与分支、re模块、匹配参数
  16. js三座大山----(第一座山)
  17. DRM应用程序进阶 (atomic-crtc)
  18. React 生命周期函数使用场景 及ajax请求 前端模拟数据
  19. sql中like的所有用法
  20. 一文读懂XPath基本语法_XPath语法详解_XPath教程

热门文章

  1. 一个c语言的生日祝福
  2. 一层层堆叠的意思是什么_堆叠的解释及造句
  3. 第一次上计算机课日记500,上科学课日记500字3篇
  4. PowerBI开发者账号申请,不限license
  5. 自适应光学望远镜技术
  6. 淘宝账号注销的条件是什么
  7. python模拟登陆淘宝
  8. 产品经理眼中的生命进化论居然是这样的
  9. Python+dlib+opencv实现简单的人脸识别
  10. 谷歌信息在Android 7艾诺诺7极光笔记本和上网本平板电脑