0

我正在尝试在 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) 没有使用额外的包;

4

2 回答 2

0

Rscript.exe使用then可能会有更好的运气R CMD BATCH

您要使用的语法是:

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

于 2013-08-30T20:05:22.453 回答
0

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

R -e 'source("Your_Script.R")'
于 2015-12-05T02:02:45.077 回答