我正在一台64 GB内存的Linux服务器上通过Rstudio Server运行h2o。当我初始化集群时,它显示总集群内存仅为9.78 GB。我尝试使用max_mem_size参数,但仍然只使用9.78 GB。
localH2O <<- h2o.init(ip = "localhost", port = 54321, nthreads = -1, max_mem_size = "25g")
H2O is not running yet, starting it now...
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
Connection successful!
R is connected to the H2O cluster:
H2O cluster uptime: 5 hours 10 minutes
H2O cluster version: 3.10.4.6
H2O cluster version age: 19 days
H2O cluster name: H2O_started_from_R_miweis_mxv543
H2O cluster total nodes: 1
H2O cluster total memory: 9.78 GB
H2O cluster total cores: 16
H2O cluster allowed cores: 16
H2O cluster healthy: TRUE
H2O Connection ip: localhost
H2O Connection port: 54321
H2O Connection proxy: NA
H2O Internal Security: FALSE
R Version: R version 3.3.3 (2017-03-06)
我在服务器上运行了以下命令,以确保可用的内存数量:
cat /proc/meminfo
MemTotal: 65806476 kB
编辑:
我对这个问题进行了更深入的研究,似乎这是JVM中的默认设置。当我直接在Java中启动h2o时,我能够传递命令-Xmx32g
,并且它确实增加了内存。然后我就可以连接到该h2o实例在Rstudio中,并且可以访问增加的内存。我想知道是否有一种方法可以更改JVM中的默认值,以允许更多的内存,这样我就不必先从命令行启动h2o实例,然后再从Rstudio服务器连接到它。