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多平台发布

相关推荐
码农刚子12 小时前
从零开始:在 Windows 服务器上部署 Node.js 项目(小白实战教程)
后端·node.js
Cache技术分享12 小时前
435. Java 日期时间 API - Clock 灵活获取当前时间
前端·后端
浩子coding12 小时前
通过 Spring AI Alibaba 源码,看如何玩转 ReAct 智能体范式
人工智能·后端
星浩AI12 小时前
合规项目大模型如何部署?硬件选型 + vLLM/LMDeploy 实战
pytorch·后端·llm
摇滚侠13 小时前
SpringMVC 入门到实战 DispatcherServlet 源码解读 92-95
java·后端·spring·maven·intellij-idea
码不停蹄的玄黓14 小时前
Spring Bean 生命周期
java·后端·spring
西安邮电大学14 小时前
分治算法详细讲解
java·后端·其他·算法·面试
老马聊技术15 小时前
AI对话功能之SpringBoot整合Vue3
vue.js·人工智能·spring boot·后端
武子康15 小时前
调查研究-174 什么是“红丸主义“:它为什么吸引人,又为什么容易把人带偏?
后端
神奇小汤圆15 小时前
白嫖DeepSeek V4 Pro!免费无限用,还能接入Claude-Code
后端