Asked and reported by a user (Krishna) on ML:
This is possible to do, but you've hit a bug with the current YARN
implementation. Ideally you should be able to configure the vmem-pmem
ratio (or an equivalent config) to be -1, to indicate disabling of
virtual memory checks completely (and there's indeed checks for this),
but it seems like we are enforcing the ratio to be at least 1.0 (and
hence negatives are disallowed).
You can't workaround by setting the NM's offered resource.mb to -1
either, as you'll lose out on controlling maximum allocations.
Please file a YARN bug on JIRA. The code at fault lies under
On Thu, Oct 18, 2012 at 4:00 PM, Krishna Kishore Bonagiri
> Is there a way we can ask the YARN RM for not killing a container when it
> uses excess virtual memory than the maximum it can use as per the
> specification in the configuration file yarn-site.xml? We can't always
> estimate the amount of virtual memory needed for our application running on
> a container, but we don't want to get it killed in a case it exceeds the
> maximum limit.
> Please suggest as to how can we come across this issue.
Basically, we're doing:
For virtual memory monitoring to be disabled, maxVmemAllottedForContainers has to be -1. For that to be -1, given the above buggy computation, vmemRatio must be -1 or maxPmemAllottedForContainers must be -1.
If vmemRatio were -1, we fail the precondition check and exit.
If maxPmemAllottedForContainers, we also end up disabling physical memory monitoring.
Or perhaps that makes sense - to disable both physical and virtual memory monitoring, but that way your NM becomes infinite in resource grants, I think.
We need a way to selectively disable kills done via virtual memory monitoring, which is the base request here.