gpt4 book ai didi

r - 在 Shiny 的服务器上增加堆栈维度

转载 作者:行者123 更新时间:2023-12-05 07:12:16 25 4
gpt4 key购买 nike

我在一个 Shiny 的服务器上工作,我正在做一些非常复杂的操作。我发现的问题是,在处理大型数据帧几分钟后,应用程序因以下错误而崩溃:错误:C 堆栈使用 7969194 太接近限制。执行暂停。我在谷歌上搜索了一下,发现在 ubuntu 的 cmd 中使用此命令 ulimit -s 16384 可以增加堆栈大小,但我没有找到如何在 Shiny 的服务器中执行此操作。

拜托,有人有什么想法吗?

谢谢

最佳答案

TLDR:

将以下行添加到 /etc/security/limits.conf 的末尾:

* soft memlock unlimited
* hard memlock unlimited

* soft stack unlimited
* hard stack unlimited

记入this answer .基本上,此更改会将堆栈和 memlock 内存的大小调整为无限。

更多背景:

正如 OP 指出的那样,可以使用 ulimit在进入 R session 之前调整可用堆栈大小。

R 包 rlimit应该像命令行实用程序 ulimit 一样工作,但是,在进入 R session 后我无法产生相同的行为:

Cstack_info()["size"] # prints 7969177
rlimit_stack(16384, 16384) # expect 16777216
Cstack_info()["size"] # still prints 7969177

最终我找到了上面的 TLDR 解决方案和 Error: C stack usage 7969194 is too close to the limit.执行停止。 消失。

关于r - 在 Shiny 的服务器上增加堆栈维度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60492048/

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