Flume内存优化
1)问题描述:如果启动消费Flume抛出如下异常
ERROR hdfs.HDFSEventSink: process failed
java.lang.OutOfMemoryError: GC overhead limit exceeded
2)解决方案步骤:
(1)在hadoop102服务器的/opt/module/flume/conf/flume-env.sh文件中增加如下配置
export JAVA_OPTS="-Xms100m -Xmx2000m -Dcom.sun.management.jmxremote"
(2)同步配置到hadoop103、hadoop104服务器
[atguigu@hadoop102 conf]$ xsync flume-env.sh
3) Flume内存参数设置及优化
JVM heap一般设置为4G或更高,部署在单独的服务器上(4核8线程16G内存)
-Xmx与-Xms最好设置一致,减少内存抖动带来的性能影响,如果设置不一致容易导致频繁fullgc。
Xms:表示JVM Heap(堆内存)最小尺寸,初始分配空间;
Xmx:表示JVM Heap(堆内存)最大允许的尺寸,过小可能会导致java.lang.OutOfMemory
PermSize:永久代最小尺寸,初始分配
MaxPermSize:永久代最大的尺寸,过小会导致java.lang.OutOfMemoryError:PermGen space
MetaspaceSize:元空间最小尺寸,初始分配
MaxMetaspaceSize:元空间最大的尺寸
注:Java8以后,永久代被元空间取代,同时元空间不像永久代一样受制于内存,元空间是基于操作系统内存的,理论上可以一直扩展内存知道操作系统的极限。
————————————————
原文链接:https://blog.csdn.net/m0_50635229/article/details/116460355