如何阻止h2o将大量的.ERR,.OUT和其他日志文件保存到本地驱动器

问题描述 投票:2回答:2

我目前正在运行一个脚本,其中为蒙特卡罗交叉验证的几次迭代生成了几个h2o glm和deeplearning模型。完成运行(大约需要半天)后,h2o会将大量文件保存到本地驱动器(大小最大为8.5 GB)。重新启动RStudio或我的计算机时,这些文件不会被删除(正如我原先想的那样)。有没有办法阻止h2o保存这些文件?

r logging h2o
2个回答
2
投票

当您从R使用h2o.init()启动H2O时,应将stdout和stderr文件保存到临时目录中(请参阅R的tempdir()以查看路径)。 R会话退出时,应删除此临时目录。似乎这不适用于RStudio,但是如果您从命令行使用R,它就可以工作。我不确定这是否是可以在RStudio中更改的设置,或者这是否是一个RStudio错误。

但你可以自己控制更多。您可以在命令行上使用java手动启动H2O,然后使用h2o.init()从R连接。

java -Xmx5g -jar h2o.jar

在这个例子中,我使用5 GB的Java堆内存启动了H2O,但是如果数据量较大,则应该增加它。然后在R中连接将如下所示:

> h2o.init()
 Connection successful!

R is connected to the H2O cluster: 
    H2O cluster uptime:         16 hours 34 minutes 
    H2O cluster version:        3.15.0.99999 
    H2O cluster version age:    17 hours and 25 minutes  
    H2O cluster name:           H2O_started_from_R_me_exn817 
    H2O cluster total nodes:    1 
    H2O cluster total memory:   4.43 GB 
    H2O cluster total cores:    8 
    H2O cluster allowed cores:  8 
    H2O cluster healthy:        TRUE 
    H2O Connection ip:          localhost 
    H2O Connection port:        54321 
    H2O Connection proxy:       NA 
    H2O Internal Security:      FALSE 
    H2O API Extensions:         XGBoost, Algos, AutoML, Core V3, Core V4 
    R Version:                  R version 3.3.2 (2016-10-31) 

因此,如果要将stdout和stderr重定向到devnull,只需将redirect命令添加到java命令的末尾即可启动H2O群集并再次从R连接到H2O。要重定向stderr和stdout,你可以像这样追加> /dev/null 2>&1

java -Xmx5g -jar h2o.jar > /dev/null 2>&1 &

0
投票

在运行H2O的火花壳中遇到这个。 shell连接了50个执行程序,这导致这些节点上的/tmp目录最终导致存储问题。

h2o.init()被调用时,它会创建jvm。来自h2o的日志记录由这些jvm处理。但是当shell关闭时,那些jvm仍然存在,只是永久地记录/tmp中的心跳错误。您将需要找到与h2o关联的jvm并将其关闭。我相信我的情况具体过程名称water.H2OApp

© www.soinside.com 2019 - 2024. All rights reserved.