ledefe opened a new issue #3277:
URL: https://github.com/apache/rocketmq/issues/3277


   OOM is caused by too many consumerManageExecutor task
   
   By looking at the source code, I learned that 
consumerManagerThreadPoolQueueCapacity has settings but is not used. As shown 
below.....
   
   ```java
   this.consumerManagerThreadPoolQueue = new 
LinkedBlockingQueue<Runnable>(this.brokerConfig.getConsumerManagerThreadPoolQueueCapacity());
   ....
    this.consumerManageExecutor =
                       
Executors.newFixedThreadPool(this.brokerConfig.getConsumerManageThreadPoolNums(),
 new ThreadFactoryImpl(
                               "ConsumerManageThread_"));
   ````
   
    I want to know why unbounded queues are used .Is there any special design?
   
   By the way, this problem occurs under the aarch64 architecture. There is no 
such problem under AMD architecture.
   
   JVM:
   
   ```java
   -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:G1ReservePercent=25 
-XX:InitiatingHeapOccupancyPercent=30 -XX:SoftRefLRUPolicyMSPerMB=0 
-XX:SurvivorRatio=8 -verbose:gc -Xloggc:/dev/shm/mq_gc_%p.log 
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime 
-XX:+PrintAdaptiveSizePolicy -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 
-XX:GCLogFileSize=30m -XX:-OmitStackTraceInFastThrow -XX:+AlwaysPreTouch 
-XX:MaxDirectMemorySize=1073741824 -XX:-UseLargePages -XX:-UseBiasedLocking 
-Djava.ext.dirs=/opt/jre/jre/lib/ext:/opt/rocketmq/bin/../lib -Xms2g -Xmx2g 
-Xmn1g -Drocketmq.broker.rebalance.lockMaxLiveTime=7000 -cp 
.:/opt/rocketmq/bin/../conf: org.apache.rocketmq.broker.BrokerStartup -c 
/opt/rocketmq/conf/broker.conf
   ```
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to