gpt4 book ai didi

java - 使用 Rserve 时由于错误太大而丢弃缓冲区

转载 作者:行者123 更新时间:2023-11-30 07:54:31 26 4
gpt4 key购买 nike

我正在使用 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 代码)?

关于java - 使用 Rserve 时由于错误太大而丢弃缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32840038/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com