Spark 3 on Yarn中Physical mem used %与Physical Vcores Used %指标咨询
Spark 3 on Yarn中Physical mem used %和Physical Vcores Used %指标解析
1. Physical mem used % 是什么?
这是Spark 3新增的指标,指Spark应用实际消耗的物理内存占Yarn为该应用分配的物理内存总配额的百分比。它聚焦于应用真实使用的物理内存资源,区别于Spark 2.x中侧重JVM堆内存或容器配置内存上限的指标。
2. Physical Vcores Used % 是什么?
同样是Spark 3新增指标,指Spark应用实际使用的物理CPU核心数占Yarn为该应用分配的物理CPU核心总配额的百分比。它反映的是应用真实占用的CPU资源,而非Yarn容器配置的虚拟核心(vcores)上限。
3. 指标计算逻辑与资源使用率矛盾解析
计算逻辑
Physical mem used % = (应用实际消耗的物理内存 / Yarn为该应用分配的物理内存总配额) × 100%Physical Vcores Used % = (应用实际使用的物理CPU核心数 / Yarn为该应用分配的物理CPU核心总配额) × 100%
集群资源100%但指标未达100%的原因
- 集群层面的100%资源使用率,指的是整个Yarn集群的所有可分配内存/CPU资源已经全部分配给了各个应用的容器,但你的Spark应用只是集群中运行的应用之一,Yarn为它分配的资源配额本身就小于集群总资源。
- Spark应用存在资源预留但未实际利用的情况:Yarn已经给应用的容器分配了内存/CPU配额,但Spark任务并未完全使用这些预留资源,导致实际使用率低于配额占比。此时集群层面因所有资源配额已被分配完毕,显示100%使用率,而单个应用的实际资源使用率则低于100%。
内容的提问来源于stack exchange,提问作者Mac
相关产品推荐
相关产品推荐

