I am curious about how YARN containers control their memory usage. Say,
I have a MR job, and I configure that every map task should be assigned
a 1 GB container, and every reduce task a 1.5 GB one. So, when YARN runs
the containers, how is it ensured that all map containers use less than
1 GB memory and all reduce containers less than 1.5 GB? Is container
memory control realized via -Xmx arguments in the scripts generated by
YARN to invoke the MR program in the containers?