Mur*_*rta 5 java r rjava rserve
当我从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))
Run Code Online (Sandbox Code Playgroud)
一切正常.
但是如果我尝试从命令行启动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))
Run Code Online (Sandbox Code Playgroud)
我在RStudio中收到此错误:
rsc_abort: connection closed by peer
Error in RS.eval(conn, library(openNLP)) :
read error - could not obtain response header
Run Code Online (Sandbox Code Playgroud)
并且命令行中出现此错误:
Invalid memory access of location 0x110 rip=0x7fff8ea0d5d2
Run Code Online (Sandbox Code Playgroud)
这里和这里是类似的问题参考.我最初的问题是RJDBC,而不是openNLP,似乎两者都有共同的rJava.我在这里使用openNLP因为它很容易模拟,不需要数据库连接.关于如何解决这个问题的任何线索?
确保为您的 R CMD 设置完全相同的参数。确保检查 RStudio 是否使用完全相同的 Java 版本。
至于内存设置,你可以随时使用这个技巧
export _JAVA_OPTIONS="-Xmx=2G"
Run Code Online (Sandbox Code Playgroud)
设置 JVM 可用的内存大小。使用_JAVA_OPTIONS您可以强制执行 JVM 将使用的设置。
| 归档时间: |
|
| 查看次数: |
496 次 |
| 最近记录: |