博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

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

posted @ 2022-05-25 22:54  CHANG_09  阅读(372)  评论(0)    收藏  举报