Cstack_info() Ubuntu 20.04LTS 上 Rstudio 服务器和 Rstudio 桌面之间的输出不同

Cstack_info() output different between Rstudio Server and Rstudio Desktop on Ubuntu 20.04LTS

我在 运行 设置我的代码时无法摆脱 CStack 限制。 我设法通过附加

摆脱了错误
* hard stack unlimited
* soft stack unlimited
* soft memlock unlimited
* hard memlock unlimited

root soft stack unlimited
root hard stack unlimited
root soft memlock unlimited
root hard memlock unlimited

/etc/security/limits.conf 修复了 RStudio 桌面上的问题。

我从 运行ning Cstack_info()

得到以下输出
> Cstack_info()
      size    current  direction eval_depth 
        NA         NA          1          2 

这是桌面终端ulimit -s的输出

coolshades@coolshades-ws:~$ ulimit -s
unlimited

在 RStudio 桌面上完美地编写代码 运行。

同一台机器上,我也在运行ning RStudio Server(免费)远程运行编码。当 运行ning RStudio Server 时,这些设置似乎没有坚持。

这是 RStudio 服务器上 Cstack_info() 的输出

> Cstack_info()
      size    current  direction eval_depth 
   7969177      26336          1          2 

这是 RStudio 服务器上终端的 ulimit 输出

coolshades@coolshades-ws:~$ ulimit -s
8192

我可以使用 ulimit -s unlimited 将限制改回无限制。但它只会在 Rsession 重新启动后启动。但是,当我重新启动 R 会话时,ulimit -s 的输出恢复为 8192。

我不知道如何最好地解决这个问题,希望更有经验的 RStudio Server 用户能够就此事提出建议。

我已经解决了这个问题。

我必须对以下文件进行以下更改:

sudo nano /etc/systemd/user.conf 添加 DefaultLimitSTACK=134217728

sudo nano /etc/systemd/system.conf 添加 DefaultLimitSTACK=134217728

确保您定义的数字是 2 的幂,否则 Ubuntu 由于某种原因无法登录。

我有 128GB 内存。所以我将限制设置为 2^27。

希望这对遇到同样问题的人有所帮助。