You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Adam Binford (Jira)" <ji...@apache.org> on 2022/01/06 19:47:00 UTC

[jira] [Commented] (YARN-10863) CGroupElasticMemoryController is not work

    [ https://issues.apache.org/jira/browse/YARN-10863?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17470163#comment-17470163 ] 

Adam Binford commented on YARN-10863:
-------------------------------------

Just hit this as well, you're forced to use strict memory control if you're using elastic memory control

> CGroupElasticMemoryController is not work
> -----------------------------------------
>
>                 Key: YARN-10863
>                 URL: https://issues.apache.org/jira/browse/YARN-10863
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: nodemanager
>    Affects Versions: 3.3.1
>            Reporter: LuoGe
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: YARN-10863.001-1.patch, YARN-10863.002.patch, YARN-10863.004.patch, YARN-10863.005.patch, YARN-10863.006.patch, YARN-10863.007.patch
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> When following the [documentation|https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/NodeManagerCGroupsMemory.html] configuring elastic memory resource control, yarn.nodemanager.elastic-memory-control.enabled set true,  yarn.nodemanager.resource.memory.enforced set to false, yarn.nodemanager.pmem-check-enabled set true, and yarn.nodemanager.resource.memory.enabled set true to use cgroup control memory, but elastic memory control is not work.
> I see the code ContainersMonitorImpl.java, in checkLimit function, the skip logic have some problem.  The return condition is strictMemoryEnforcement is true and elasticMemoryEnforcement is false. So, following the document set use elastic memory control, the check logic will continue, when container memory used over limit will killed by checkLimit. 
> {code:java}
> if (strictMemoryEnforcement && !elasticMemoryEnforcement) {
>   // When cgroup-based strict memory enforcement is used alone without
>   // elastic memory control, the oom-kill would take care of it.
>   // However, when elastic memory control is also enabled, the oom killer
>   // would be disabled at the root yarn container cgroup level (all child
>   // cgroups would inherit that setting). Hence, we fall back to the
>   // polling-based mechanism.
>   return;
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-issues-help@hadoop.apache.org