Rstudio-server无法登陆?几种解决方法 卡死 崩溃了
Q6:Rstudio-server无法登陆?几种解决方法
1 检查登陆方式是否正确 (IP/域名 端口是否弄错了)
2 查看自己用户名和密码是否输入错误
(大部分无法登陆的原因都是第1点和第2点)
3 清空浏览器cookie缓存,或者换个浏览器登陆,推荐谷歌浏览器
4 如果是出现下面截图界面,试试点击 Terminate R 或 Safe Mode(如果试了还不行,继续尝试后面方法5~8)
5 ssh登录,然后查看自己的磁盘存储空间是否用尽(方法见Q9),如果是,先清理自己的磁盘空间。每个用户的默认磁盘空间是500G
quota -uvs
6 关掉本地电脑的代理、科学上网工具、换个网络环境
如果出现下面提示,一般就是代理的问题,请关闭代理:
当然没有出现该提示也得关闭代理:
7 可能是之前没有正确退出Rstudio,可以先ssh登录,然后kill掉自己的任务
ps -ef|grep ${USER} |grep rsession |awk '{print $2}'| xargs kill -9
8 当以上办法都没用时,就可以使用这个终极大招了:
首先关闭浏览器 Rstudio登录页面。然后使用 ssh登陆到服务器中,在家目录中找到并进入 rstudio 这个隐藏目录,并重命名为rstudio.old(如果已经存在 rstudio.old ,就先把 rstudio.old 删掉)。再一次使用 方法7 kill 掉之前残留的进程。最后再打开浏览器登录 Rstudio
mv ~/.local/share/rstudio ~/.local/share/rstudio.old
mv ~/.rstudio ~/.rstudio.old
mv ~/.config/rstudio/ ~/.config/rstudio.old
ps -ef|grep ${USER} |grep rsession |awk '{print $2}'| xargs kill -9
西游云给出的方案:
Rstudio进程占用了过高的内存,应该怎样处理?
-
西柚云有服务器CPU、内存等相关指标的监控,如果用户占用了内存而不使用(判断依据是CPU几乎没有占用,但是占用了大量的内存),管理员会提示该用户清理对应的内存。
-
这种情况一般是R程序占用过多内存导致的,处理方法如下:
-
使用R的Project来管理你的代码,别全部代码都在一个项目甚至没有项目的情况下运行。否则你的变量越积越多,最后内存溢出系统kill进程会导致你和其他用户的内存数据丢失!
-
运行
gc()
函数手动清理内存垃圾。
-
-
如果你未来几天不准备使用Rstudio,可以点击退出session。
登录RStudio网页版后闪退到登录页面重复登录
-
在同一个浏览器同时登录多个RStudio就会这样,一般用浏览器的无痕模式打开就能顺利登录进去了。
如何kill进程
ps -ef | grep '关键字' | grep -v grep | awk '{print $2}' | xargs kill -9 # 删除R studio相关进程,shpc_xxx换成自己的用户名 ps -ef | grep '/usr/lib/rstudio-server/bin/rsession -u shpc_xxx' | grep -v grep | awk '{print $2}' | xargs kill -9
RStudio卡住|登录缓慢
登录缓慢,大部分原因是中间计算结果太大,可以按照这个方法优化
-
如果r studio image数据很大的话,登录时加载起来是比较慢的,请耐心等待一下。如果服务器负载又很高的话(怎么判断负载高不高请看这里),加载速度也会进一步下降,所以是需要等待一段时间的。
遇到登录慢的情况,别急着点击reload或者terminate R,可以top -u shpc_xxx 这样看看rsession是否一直在加载数据,如果内存一直在增加,建议进行等待。或者watch free -m
命令也行
如果等待到内存不再变化后,页面还是在loading的状态,可以使用浏览器无痕模式访问Rstudio,看看是不是前端页面卡住了。
-
如果R studio还是一直加载不出来的话,可能就需要删除用户的session了。这个可能是因为r studio的设计导致了某些隐藏Bug,可以看看这位网友的文章:为什么RStudio Server这么慢?_另一只又死又活的猫的博客-CSDN博客。
-
如果等了很久,都不行的话,可以尝试杀掉对应的进程,然后重新登录
# 获取进程号 ps -ef | grep "/usr/lib/rstudio-server/bin/rsession -u $(whoami)" | grep -v grep # 杀掉进程:将123换成上一步得到的进程号 -9是固定的值,不要动(下面还有一行,是grep进程,无需理会,只需要关注红色框的进程) kill -9 123 # 上述两条命令实现的功能也可以使用下面这一条命令来实现 ps -ef | grep "/usr/lib/rstudio-server/bin/rsession -u $(whoami)" | grep -v grep | awk '{print $2}' | xargs kill -15
-
如果还是无法登录,则进行下一步 删除 r rstudio session。
删除r studio session缓存文件
-
首先需要说明的是,删除session缓存文件会导致计算的中间结果丢失,也就是下图中的框框内的内容。
-
删除session的话,需要用户自己通过final shell等软件登录后进入终端
# 获取进程号 ps -ef | grep "/usr/lib/rstudio-server/bin/rsession -u $(whoami)" | grep -v grep # 杀掉进程:将123换成上一步得到的进程号 kill -9 123 # 上述两条命令实现的功能也可以使用下面这一条命令来实现 ps -ef | grep "/usr/lib/rstudio-server/bin/rsession -u $(whoami)" | grep -v grep | awk '{print $2}' | xargs kill -15 # 输入命令,删除session文件(注意,新旧版R studio的目录位置不一样,可以先看看哪个目录有内容,然后再删除) # 新版 ls ~/.local/share/rstudio/sessions/active # 如果有内容,则删除 rm -rf ~/.local/share/rstudio/sessions/active # 旧版 ls ~/.rstudio/sessions/active/session-* # 如果有内容则删除 rm -rf ~/.rstudio/sessions/active/session-* 刷新浏览器。再尝试登录r studio