如何为日志记录器进程分配较少的内存(-xmx),为工作进程分配较高的内存?

时间:2018-11-09 13:27:24

标签: apache-storm

Version Info: 
   "org.apache.storm" % "storm-core" % "1.2.1" 
   "org.apache.storm" % "storm-kafka-client" % "1.2.1" 

在这种版本的Storm中,运行拓扑时,我看到每个工作人员都有两个过程:一个用于日志记录器,另一个用于工作器,如here所述。

问题是我想为日志记录器进程(例如-Xmx512mb)分配更少的内存,而为工作进程(例如-Xmx12gb)分配更多的内存。但是我无法实现这一点,我尝试使用其他配置。

有配置topology.worker.logwriter.childopts,由日志记录器进程使用,但是比我给worker.childopts的配置要多 ,但这也适用于日志记录器和工作进程。我尝试使用topology.worker.childopts类似,这同样适用于日志记录器和工作进程。

如何解决此问题,以便为日志记录器进程提供较少的内存,为工作进程提供更多的内存?

1 个答案:

答案 0 :(得分:0)

根据RohdeDøssinghere的建议以及我还观察到的,logwriter的过程同时具有两个Java参数:-Xmx512m,在再添加几个参数之后,它又具有-Xmx10g,在我的情况下,第一个,并且仅使用512mb内存,因此这不会对我造成任何问题。

但是,正如建议的here一样,在过程中具有相同的重复参数并不是一件好事,因为在其他系统中也可能需要相同的重复参数。所以Storm应该解决这个问题。