2013-08-30 73 views
0

我試圖在Linux上批量提交R,但通常在提交後30-40分鐘後,過程停止,我收到下面的消息。該消息出現在.Rout文件中,而不是Linux shell中。要提交我用[R CMD批myprogram.R &在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)沒有額外的軟件包正在使用;

+0

是您的算法確定的(沒有隨機的?)任何想法函數被調用,因爲它引發錯誤?你使用什麼軟件包? – flodel

回答

0

使用Rscript.exe而不是R CMD BATCH可能會有更好的運氣。

你想使用該語法是:

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

+0

嗨,我試過了,但與R CMD BATCH的結果相同。該過程停止,我得到相同的錯誤。 – vatodorov

0

這是一些東西,馮-R應該修復它。但是,您可以在R會話中使用源函數執行您的代碼。 語法是:

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