使用多个 -Xmx 选项启动的 Java 守护进程 (hadoop)

2022-09-04 21:42:33

在我正在使用但没有管理员权限的hadoop集群上,我看到JobTracker,TaskTracker和DataNode的hadoop守护程序是使用指定两次的-Xmx选项启动的。类似的东西

/usr/java/default/bin/java -Dproc_datanode -Xmx1000m ... -Xmx128m ...

现在,在这种情况下,哪个选项优先?是两者的最大值,还是排在第一位或最后一位的那个?

这可能不是特定于hadoop的,只是在这种情况下遇到它所以提到它。


答案 1

正如@fge我建议的那样,我用一个独立的java程序测试了这个,使用下面的主要方法

public static void main(String[] args){
    long mem = Runtime.getRuntime().maxMemory();
    System.out.println("Max mem="+mem/(1024*1024) + "m");       
}

并使用多个-Xmx选项启动它,它似乎正在选择最后一个。例如:

java -Xmx100m -Xmx20m -Xmx400m程序输出为Max mem=395m


答案 2

推荐