有时间稍微看了一下JAVA虚拟机的相关知识,稍微整理了一下生产环境中的hadoop-env配置。不怎么专业,将就看一下吧。
以后有时间再把JAVA虚拟机的知识整理一下。
环境参数 | 参数设置 | 参数说明 | 备注 |
HADOOP_OPTS | -Djava.net.preferIPv4Stack=true | 优先使用IPV4,禁用IPV6 | |
HADOOP_NAMENODE_OPTS | Xms140G | 初始堆内存大小 | |
Xmx140G | 最大堆内存大小 | ||
XX:NewRatio=8 | 设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 | ||
XX:SurvivorRatio=4 | 年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5 | ||
XX:MaxPermSize=200M | 设置持久代大小 | ||
XX:+UseParNewGC | ParNew收集器其实就是Serial收集器的多线程版本。新生代并行,老年代串行;新生代复制算法、老年代标记-压缩 | ||
XX:+UseConcMarkSweepGC | 设置CMS收集器(并发收集器) | ||
XX:+CMSParallelRemarkEnabled | 为了减少第二次暂停的时间,开启并行remark | ||
XX:MaxDirectMemorySize=512M | 此参数的含义是当Direct ByteBuffer分配的堆外内存到达指定大小后,即触发Full GC | ||
XX:CMSInitiatingOccupancyFraction=75 | 设置CMS收集器在老年代空间被使用多少后触发垃圾收集,默认值为68%,仅在使用CMS时生效 | ||
XX:ConcGCThreads=8 | |||
verbose:gc | |||
XX:+PrintGCDetails | 打印GC详情 | ||
XX:+PrintGCDateStamps | 打印GC时间戳 | ||
Xloggc:/home/bigdata/hadoop/logs/namenode.gc.log | gc日志的目录及文件名 | ||
Dcom.sun.management.jmxremote | |||
HADOOP_DATANODE_OPTS | Xms3G | 初始堆内存 | |
Xmx3G | 最大堆内存 | ||
Xmn512M | 设置年轻代大小 | ||
XX:MaxDirectMemorySize=512M | 此参数的含义是当Direct ByteBuffer分配的堆外内存到达指定大小后,即触发Full GC | ||
XX:+UseParNewGC | |||
XX:+UseConcMarkSweepGC | |||
XX:CMSInitiatingOccupancyFraction=75 | |||