Hadoop内存调优

2013-04-10

 

Hadoop默认情况下给每个子任务的内存大小是200M。对于实际的生产环境,这样的配置很容易捉襟见肘。为此,我们可以在mapred-site.xml中对mapred.child.java.opts属性进行设置。

     以下是一个简单的例子:

 

<property>                                                                                                                                                                           
                 <name>mapred.child.java.opts</name>                                                                                                              
                 <value>-Xmx1024m -Xms1024m -Xmn192m -XX:+UseConcMarkSweepGC</value>                                           
</property>   

 

【注意】

  • -Xmx  JVM启动最大内存,最佳设值应该视物理内存大小及计算机内其他内存开销而定 
  • -Xms   JVM启动的内存初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值; 
  • -Xmn  Heap Young区大小,经验上推荐以3/8的Xmx大小,设置过小会导致GC频繁进行全回收;
  • -UseConcMarkSweepGC  开启并发收集器,可以保证大部分工作都并发进行(应用不停止),垃圾回收只暂停很少的时间,此收集器适合对响应时间要求比较高的中、大规模应用

猜你喜欢

转载自aeolus1983.iteye.com/blog/2307567