[英]Discarding buffer because too big error while using Rserve
我正在使用Rserve
从我的Java代码中访问R脚本。 在我将变量传递给Rscripts并返回结果的整个代码中,一切都工作正常。 但是,在我访问R脚本的代码结尾处,几乎收到以下错误:
WARNING: discarding buffer because too big (awaiting 44617265235 bytes)
并且执行由于该错误而停止:
java.util.concurrent.ExecutionException:
org.rosuda.REngine.Rserve.RserveException: eval failed, request status: invalid parameter
Caused by: org.rosuda.REngine.Rserve.RserveException: eval failed, request status: invalid parameter
我不确定为什么会从何处产生此错误,以及如何解决此问题? 我在网上找到了一个解决方案: https : //github.com/cscheid/rserve-js/issues/7,但事实证明它没有很大帮助。 访问R脚本后,我每次也尝试使用connection.close()
但效果不佳。 有人可以帮忙吗?
您可能要增加maxinbuf。 例如,为了将其设置为4GB,请打开(如果不存在,则创建一个新文件)文件/etc/Rserv.conf(如果您使用的是Linux或Mac)并输入以下行:
maxinbuf 4194304
(以KB为单位)。
但是,我看到您的情况下的预期数量超过了41GB,这是一个不合理的数字(实际上不太可能传递这样大小的参数)。 您能否分享实际导致此错误的代码(Java和R代码)?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.