Praveen,

The mapred.job.map.memory.mb is a config that Hadoop uses to decided if your 
task is using too much memory and needs to be killed.  The memory used by this 
includes not only the memory for java itself but also any other child processes 
that may be launched by java.  The -Xmx in mapred.child.java.opts tells the JVM 
being launched how big of a heap to use.  Typically java itself will use a bit 
more memory then just what is stored in the heap so -Xmx should be slightly 
smaller then mapred.job.map.memory.mb.  But, if you are going to be launching 
sub-processes, like streaming tends to do, then you will typically want to have 
-Xmx be much smaller then mapred.job.map.memory.mb so that it can allow for the 
RAM that the native process will be using.

--Bobby Evans

On 11/7/11 7:29 PM, "Praveen Sripati" <praveensrip...@gmail.com> wrote:

Hi,

Can someone please clarify me on the below query?

Thanks,
Praveen

On Sun, Nov 6, 2011 at 8:47 PM, Praveen Sripati <praveensrip...@gmail.com> 
wrote:

Hi,

What is the difference between setting the mapred.job.map.memory.mb and 
mapred.child.java.opts using -Xmx to control the maximum memory used by a 
Mapper and Reduce task? Which one takes precedence?

Thanks,
Praveen


Reply via email to