5

RStudioからRserveを起動し、次のコードのように RSclient を使用して Rserve に接続しようとすると:

#Loading Libraries
library(Rserve)
library(RSclient)

#Loading Rserve
Rserve(args='--no-save --slave')

#Open Connection to Rserve and Executing openNPL
conn <- RS.connect(port=6311)
RS.eval(conn,library(openNLP))

すべて正常に動作します。

しかし、コマンド ラインから Rserve を起動しようとすると (Java の動作をシミュレートします)。コードとして:

#loading Rserve from command line, to simulate what java does.
#Using Mac OS 10.10.2
/Library/Frameworks/R.framework/Resources/bin/R CMD /Library/Frameworks/R.framework/Versions/3.2/Resources/library/Rserve/libs//Rserve --no-save --slave --RS-port 6311

#in RStudio
#Loading Rclient
library(RSclient)

#Loading Rserve
Rserve(args='--no-save --slave')

#Open Connection to Rserve and Executing openNPL
conn <- RS.connect(port=6311)
RS.eval(conn,library(openNLP))

RStudio で次のエラーが発生します。

rsc_abort: connection closed by peer
Error in RS.eval(conn, library(openNLP)) : 
  read error - could not obtain response header

コマンドラインのこのエラー:

  Invalid memory access of location 0x110 rip=0x7fff8ea0d5d2

ここここは同様の問題の参照です。私の元の問題は、openNLPではなくRJDBCにあり、両方にrJavaが共通しているようです。ここでは openNLP を使用しました。データベースに接続する必要がなく、シミュレートが簡単だからです。これを解決する方法の手がかりはありますか?

4

1 に答える 1

0

R CMD とまったく同じパラメーターを設定してください。RStudio がまったく同じ Java バージョンを使用しているかどうかを確認してください。

メモリ設定に関しては、いつでもこのトリックを使用できます

export _JAVA_OPTIONS="-Xmx=2G"

JVM で使用できるメモリ サイズを設定します。を使用_JAVA_OPTIONSすると、JVM で使用される設定を適用できます。

于 2017-08-20T19:03:38.440 に答える