Rstudio开不开了怎么办?R is taking longer to start than usual

Rstudio Server 启动时卡死

在使用 linux 服务器版 RstudioServer 的过程中,发现出现了一个问题,导致没有办法正常载入工作页面,网页提示信息是"R is taking longer to start than usual",直接翻译过来就是"这次启动 R 会比平常更久一点儿"。

下方有三个选项,分别是 reload、safe mode、terminate R,但是点任何一个键都无法解决,这种启动时卡死的状态如何解决呢?


解决方法

  1. 删除上一次会话的session文件

打开 SSH 连接服务器,进入家目录~,然后按以下步骤运行:

复制代码
######## 删除上次的session文件#######
# 先通过 cd ~/.rstudio/sessions/ 判断是否存在
# 再通过rm -rf命令删除上次的sessions
# rm -rf ~/.rstudio/sessions/*
rm -rf ~/.local/share/rstudio/sessions/*

由于不同系统的差异,存放Rstudio session的目录可能有两个,选择正确的即可,如果是centos 7.9系统一般是在这个目录:~/.local/share/rstudio/sessions/

  1. 删除R session进程

输入以下命令查询PID进程编号:

复制代码
rstudio-server active-sessions

返回信息中第一列的PID是进程编号,如果有多个用户的话需要选择自己账户对应的PID。

然后运行以下命令删除进程,注意PID是刚刚查到的那个值,比如上图中的5631,需要根据实际情况而定。

复制代码
rstudio-server kill-session [PID]
  1. 重新打开Rstudio server网页

此时恢复正常,能够正常登录。

原因解释

可能是由于上一次关闭服务器时,环境中还有很多变量没有保存也没有清除,直接通过关闭浏览器的方式退出,这样做会导致系统自动将环境内的数据写入到当前用户家目录下session文件夹保存。

当用户下一次登录时,系统会自动读取session中的文件,并加载到环境中,正常来说这个功能非常好,能保证工作状态记忆同步。

但是当某次用户读入了非常多的数据,环境变量占用的内存很高,此时这个读写和载入过程会变得很漫长,而且有可能卡死,这就造成了文章开头那种情况。

有没有使用技巧能避免卡死?

分析大数据过程中(内存占用量超过5G以上),每次想要退出Rstudioserver时,先将当前的环境中变量都保存为Rdata,然后运行gc()回收内存,然后再关闭浏览器。下次启动时直接加载Rdata即可恢复变量。

另外,养成良好的编程习惯,对垃圾内存进行回收,避免长期占用。

行文至此,希望今天分享的内容能对你有所帮助,如果觉得有用请收藏转发,感谢支持。

参考资料

复制代码
https://blog.csdn.net/qq_42458954/article/details/131592927
https://www.jianshu.com/p/e0bde67d3836
https://www.jianshu.com/p/5015eca04d26

本文由mdnice多平台发布

相关推荐
子兮曰2 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰2 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
爱勇宝2 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
胡写代码2 天前
别再前后端各写一套表单校验了
java·后端
大勇前进2 天前
原生 PHP 还是 Laravel?小项目到底要不要上框架
后端
yuzhi_liu2 天前
我用 LangGraph4j 实现 Multi-Agent Supervisor
后端
alsmile2 天前
Node-RED 之外,国产规则引擎的新方案:基于标准语法,Go 先行实现
后端·开源·go
大白802 天前
PHP 内存溢出排查思路:看懂报错日志,精准定位问题
后端
二月龙2 天前
PHP 接口返回统一响应封装,让前后端对接更省心
后端
盖伦发发2 天前
软件工程SOLID 五大设计原则
后端·软件工程