【问题标题】:Error with batch submit in RR中的批量提交错误
【发布时间】:2013-08-30 15:12:34
【问题描述】:

我正在尝试在 Linux 上批量提交 R,但通常在提交后 30-40 分钟,该过程停止并且我收到以下消息。该消息出现在 .Rout 文件中,而不是 Linux shell 中。要提交,我使用 R CMD BATCH myprogram.R &

terminate called after throwing an instance of 'CxException'
  what():

当从 R 本身提交时,该程序可以正常运行,但由于某种原因,它在批量提交时在执行中途停止。 该过程在创建 45000 x 10000 矩阵时停止

这是该计划的概述。它首先从 CSV 读取三个文件。接下来,它会创建一个 45000 x 10000 的矩阵,占用大约 3.7GB 的 RAM。该矩阵是一个文档-词条矩阵,其中当词条在文档中时赋值为 1,否则赋值为 0。然后它会经过几个步骤,在这些步骤中使用该矩阵来产生结果。此时,RAM 增加到大约 4.5GB 并保持在该水平。我在 Linux 中监控作业,似乎有足够的空闲资源(包括 CPU 和 RAM)供其余进程运行。

任何想法/建议可能是什么原因造成的?

添加说明:
1) R 版本为Revolution R v.6.2; 2) 没有使用额外的包;

【问题讨论】:

  • 你的算法是确定性的(不是随机的吗?)知道什么函数在抛出错误时被调用了吗?你用的是什么包?

标签: linux r batch-file


【解决方案1】:

使用Rscript.exe 而不是R CMD BATCH 可能会更好。

你想要使用的语法是:

"%PATH TO EXE%\Rscript.exe" "%PATH TO SCRIPT%\script.R" "INPUT ARGUMENTS (if any)"

【讨论】:

  • 嗨,我试过了,但结果与 R CMD BATCH 相同。该过程停止,我得到同样的错误。
【解决方案2】:

这是 Rev-R 应该解决的问题。但是,您可以使用 R 会话中的源函数执行代码。 语法是:

R -e 'source("Your_Script.R")'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-16
    • 2023-04-09
    • 1970-01-01
    相关资源
    最近更新 更多