共享服务器使用必读

📖 推荐阅读教程:微信公众号 – 服务器使用教程 – (xshell, filezilla, vscode等工具使用视频教程)

服务器使用过程中, 建议关闭VPN , VPN的波动会导致大量奇怪的错误问题, 如任务莫名其妙中断, rstudio报错等问题, 或可将服务器ip加入直连白名单

IP-CIDR,218.205.37.73/32,DIRECT

目录(点击跳转)

  1. RStudio登录与使用
  2. 数据传输到服务器FileZilla
  3. 通过SSH命令行登录服务器
  4. 查看空间占用
  5. 查看内存与线程使用
  6. 后台运行命令
  7. 数据备份注意
  8. 网络问题与超大数据传输
  9. 共享与独享服务器的区别
  10. 软件与R包安装问题
  11. rstudio常见问题(!!必看!!)

一、Rstudio如何登录使用

1、Rstudio使用:直接复制微信群中提供的链接,在浏览器中粘贴即可, 账号密码为微信中发送的服务器信息结尾。(如果直接点击微信中的链接,可能会被屏蔽)

注意: 使用 RStudio Server 时需要特别注意的几点事项

  • 浏览器关闭可能导致任务中断 虽然 RStudio Server 运行在服务器上,但其会话依赖于用户的浏览器连接。如果用户关闭网页、网络异常,或者长时间无操作,会话有可能被系统自动终止,进而导致任务中断、数据丢失。这类情况并非系统故障,而是 RStudio 的设计限制所致。
  • 建议使用后台任务方式运行耗时操作 对于执行时间较长、计算资源占用较大的任务,建议使用后台运行方式(如 nohup Rscript ... &screentmux)。这样即使关闭网页或断网,任务也不会中断,更适合运行数据预处理、模型训练等关键步骤。
  • R 崩溃多因资源问题或底层冲突,建议及时保存数据通常在使用 RStudio Server 时,偶尔会出现 R 崩溃(如“R session disconnected”或“R session Crashd” 见下图),其常见原因包括:内存不足:处理大型数据、复杂图形或并行计算时,可能瞬间耗尽系统资源;底层 Bug 或代码包冲突:部分 R 包在调用底层 C/C++ 接口时可能导致非预期错误,进而导致 R 内核崩溃。这类问题在技术上很难完全避免因此,我们建议用户在进行复杂分析或内存占用较高的操作前,务必提前保存工作数据和中间结果(如使用 saveRDS()save.image() 等方式),以降低数据丢失的风险。同时,将核心流程整理为脚本并通过后台运行,是提升稳定性的有效方法。
  • RStudio 在极少数情况下可能会异常删除当前工作目录。经过排查,该问题通常由 R 本身、RStudio 运行环境,或某些特定 R 包之间的交互异常引起,最终导致工作目录被异常删除。建议对重要的分析结果与原始数据采取多重备份措施,如存储于百度网盘、U 盘等不同介质,养成良好的数据安全管理习惯。
  • 2、Rstudio 每次使用完记得清理缓存 

     问题:缓存如果太大,特别是超过10G以上每次打开都都会很慢,甚至会打不开。

    方法1清空Rstudio右上角账号名旁边的小红点,点击后关闭并重新打开R的界面,之前调用的函数等都会清除;

    • 清空rstudio,具体操作是Rstudio的登录账号右边的小红点-类似关机图标,提示退出,可以选择保存或不保存当前的环境。一般中间过程不重要的就都不保存 选择Don’t save –start new session

    当遇到如下情况 需要使用 方法2

    千万不要点击 safe mode (安全模式) 不会保存缓存 意外关掉之后缓存自动丢失!!! 此模式仅做调整设置使用

    方法2:也可以使用命令行来清理缓存(指定一定要完全一样 一旦不一样有误删数据的风险 无法找回)

    • 您先登录远程命令行终端(xshell 7类似工具)
    • 运行 du -h −−max-depth=1 ~/.local/share/rstudio/ 确认下缓存大小,一般大于5G以上就是缓存的问题了。
    • 运行删除命令 rm -rf  ~/.local/share/rstudio/  删除后无法恢复,主要是删除的是缓存包括未保存的Rstudio文档。  
    • 删除后必须进一步命令行输入 kill.sh 根据提示输入Y 就可以杀掉Rstudio的进程,然后刷新网页就OK 了。

    还有一种奇怪的情况:尝试了清缓存、删除目录、其他一系列操作都无效,且仍然无法加载进去。
    需要关闭下rstudio本身的缓存自动加载策略,这种情况下直接进是加载不进去的,所以需要通过安全模式 即 safe mode 才能进去改这个设置 安全模式的作用和意义也在于此

    二、如何传输数据

    推荐使用filezilla :打开软件—左上角的“站点管理器”—协议选择SFTP

    注意点:协议一定是SFTP才可以

    • 填写主机,即对应的IP如:114.236.141.195 (仅为示例,实际IP可能不同)
    • 填写端口:等同于远程终端登录的端口
    • 输入用户和密码
    • 点击下方“连接” 即可登录。

    遇到连不上怎么解决?

    1. 根据报错信息,检查下截图的站点管理器的信息是否填写正确,特别是密码不能有空格一类的。
    2. 升级下filezilla软件。
    3. 检查自己的网络-如果有开VPN可以先关闭下。

    三、如何通过ssh命令行登录服务器

    🖥️ Windows 用户推荐使用以下终端软件:

    软件下载链接
    Xshell(免费版)https://www.xshell.com/zh/free-for-home-school
    Mobaxterm(Home 版)https://mobaxterm.mobatek.net/download-home-edition.html
    FinalShell(跨平台支持 Windows/macOS/Linux)https://www.hostbuf.com/t/988.html

    📖 推荐阅读教程:微信公众号 – 服务器使用教程 – (xshell, filezilla, vscode等工具使用视频教程)

    示例: Mobaxterm

    示例:FinalShell

    💻 macOS / Linux 用户:

    可直接使用 FinalShell 或终端 ssh 命令登录:

    ssh szz123@114.236.141.195 -p 1234

    说明:

    • 输入:服务器账户 szz123 的登录密码, 输入时密码为隐藏, 建议采取复制粘贴的形式。
    • -p 1234 :指定 SSH 端口,必须加上

    四、如何查看空间

    🔹 查看主目录下各文件夹的空间占用:(需要通过xshell等工具连接上服务器之后执行)

    du -h ~/ --max-depth=1

    说明:

    • 显示各文件夹的空间使用情况,有助于定位大文件。

    也可以在R语言中调用系统指令查看(linux)

    system("du -h ~/ --max-depth=1")

    五、如何查看内存以及线程可以使用多少个?

    • 共享服务器内存以及线程使用数:单个账户推荐使用量:小于总内存或线程的30%,不允许超过50% 
    • 注意的是内存或者线程数任意一个都不允许超过规定的数字,主要是内存。

    推荐使用的是htop -u 用户名 #可以实时查看自己正在运行的所有程序。(退出的快捷键是 小写字母q)

    也可以命令行输入ps -u `whoami` -o pid,pcpu,cmd –sort=-pcpu | awk ‘$2 > 1’ 会输出在运行的进程ID 和对应的命令

    六、如何后台运行命令

    ✅ 格式:

    nohup [你的命令] > output.log 2>&1 &

    说明:

    • nohup:防止终端断开导致任务中断
    • > output.log:保存输出日志
    • 2>&1:合并错误输出
    • &:后台运行

    ✅ 推荐用途:

    运行时间 > 24 小时的任务,必须使用后台运行以防中断。

    ✅ 示例:

    run_nmf.R 是需要运行的R脚本
    # 这样是带输出日志
    nohup Rscript run_nmf.R > output.log 2>&1 &

    查看进程或日志:

    ps aux | grep jupyter
    tail -f ~/jupyter.log

    七、数据备份问题

    服务器不提供自动备份功能,请用户自行定期备份数据。

    • 📦 建议频率:至少每周一次
    • 📤 每次使用结束后都应备份关键结果文件

    八、网络问题

    • 服务器总带宽:300Mbps(共享)
    • 单用户下载限制:不超过 50Mbps

    示例:

    ascp -Q -T -l 50m -k1 -P 33001 -i ...  # -l 限速为 50m

    ⚠️ 多任务总速率也不得超过 50Mbps。

    📦 1. filezilla 实测传输速度 1~5MB/s 是正常情况 (真实速度取决于 服务器以及终端双方的网络)
    2. 数据量大的, 传输慢, 支持百度网盘或夸克网盘分享链接, 技术老师协助上传到服务器
    3. 大于1T的也支持邮寄硬盘

    九、共享和独享服务器的区别

    • 共享:优势资源最大化,价格便宜。缺点就是多人使用,难免会有冲突,以及项目排队,资源不够分配等问题。以及同时使用一个程序,不稳定性也会增加,比如R包和Rstudio的升级或其他软件及依赖环境的更新,有一定概率会影响到已有程序的运行。甚至个别某个用户运行的程序导致服务器宕机等问题。
    • 独享:自己独立使用不会受其他用户干扰,特别是运行超长时间的任务。 独享服务器咨询对应的业务经理

    十、软件R包安装问题

    如果遇到需要协助安装的软件和包,微信小程序“生信问答”有对应的方法或者遇到问题的答案。也可以在这个上面提问,24小时内都会回答的。

    实在解决不了的,微信群里反馈即可。一般都是当天完成,特殊情况的,最迟不超过24小时反馈,99%都是在当天完成。

    rstudio常见问题(!!必看!!)

    Q1: RStudio Server 是否支持自动后台运行?
    也就是说,当我在 RStudio Server 中提交一个长时间运行的任务后,
    是否可以直接关闭浏览器或断开连接,而任务仍然能够继续在后台运行,不被中断?

    A: RStudio Server 本身不会自动将任务转为后台运行,但你可以手动控制任务在后台运行,从而在关闭浏览器或断开连接后仍保持程序继续执行。包括Terminal 也是需要搭配screen 才能一直运行 默认不具备自动后台的功能

    🔍 关键结论:

    • 交互式代码(如 Console 中运行的):直接运行的代码(例如 plot(...)long_running_function()会在你关闭浏览器时被终止,因为它们依赖当前 R 会话。
    • 非交互式后台运行:你需要使用特殊方式提交任务

    ✅ 解决方案(推荐使用 nohupscreen/tmux

    ✅ 方法1:使用 nohup Rscript(最简单)

    # 1. 写一个 .R 脚本,比如 my_script.R:
    # my_script.R
    Sys.sleep(3600)  # 假设你需要运行1小时
    write("任务完成", file = "done.txt")
    # 2. 在 RStudio Server 的 Terminal 中运行:
    nohup Rscript my_script.R > output.log 2>&1 &
    
    这会将任务放入后台,即使你关闭浏览器也会继续运行。

    ✅ 方法2:使用 screentmux

    这适合你要运行交互式任务(比如调试或手动操作):

    screen -S myjob
    R
    source("my_script.R")
    # 运行中时,按 Ctrl+A 然后按 D 可以断开 screen
    # 之后可以用 screen -r myjob 恢复

    ✅ 方法3:使用 future 包后台异步执行

    在 R 内部:

    library(future)
    plan(multisession)
    future({
      # 你的耗时任务
      Sys.sleep(3600)
      write("完成", file = "done.txt")
    })

    但注意:这种方法也依赖当前 R 会话,不能关闭浏览器或断线。更推荐使用前两种 Linux 层的后台方式。


    🚫 不推荐的方法

    • 在 Console 中直接运行 source("my_script.R"):浏览器一关闭,任务就会中断。
    • R Markdown 中运行耗时代码:也会在 session 中断时失败,除非使用 nohup + rmarkdown::render() 方式后台运行。

    Q2: 如何处理如下错误?
    Error: Status code 502 returned by RStudio Server when executing 'console_input' 或crash相关字样
    该错误通常在提交代码一段时间后出现,或任务运行到一半时 RStudio 页面突然卡住、断开连接。

    可能原因说明
    ⛔ 运行超大任务内存爆了、CPU占满,R 被系统强杀(如 OOM)
    🔄 会话冲突崩溃RStudio Server 由于plot或代码问题崩溃
    ❌ 浏览器关闭、任务未后台运行你关闭浏览器导致任务中断,未使用 nohup 等后台机制
    💣 R 包或代码异常某些包或函数引发 segmentation fault(崩溃)
    🔌 网络问题与服务器通信中断(如远程连接不稳定)VPN等

    ✅ 1. 确认是否只是会话中断

    • 在页面刷新后如果还能看到项目文件,就说明只是 R 会话挂了;
    • 点击 “Session” → “Restart R” 可重启 R 会话,重新进入工作状态。
    • 方法1 进行清理缓存(点击可跳转)

    ✅ 2. 大任务改用后台执行

    • 将任务写为脚本用 nohup 执行: nohup Rscript my_script.R > out.log 2>&1 &

    3. 联系管理员反馈(在微信售后群中反馈即可)

    ✅ 小结一句话

    502 错误说明你的 R 会话已断开或崩溃,通常是因为资源耗尽或任务没放后台运行。解决方法是用脚本配合 nohup 后台执行,查看日志定位问题,优化任务运行。生信分析本来就不易,一步步排查就好。

    服务器及rstudio使用常见问题及答案:

    Q1:

    ideasError in (function (A, nv = 5, nu = nv, maxit = 1000, work = nv + 7, reorth = TRUE, : 程序包‘as_cholmod_sparse’不提供‘Matrix’这样的函数
    A1:
    GPT可能会误报 提示Matrix版本需要降低 但是monocle3并无强制要求 实际则为这包起到的桥梁作用失效 直接重装即可
    install.packages(“irlba”, type = “source”)

    Q2:
    rstudio 在绘图调用plot时 疯狂崩溃 plot一下就崩溃了 显示crash等字样 按照下图修改即可

    Q3:
    xshell每次右键复制很讨厌 点来点去 推荐修改此处设置 上方黄色及下方红色框

    Q4:
    rstudio上内存统计图代表什么?

    Q5:
    怎么修改R包版本? 为什么修改后没有效果?
    众所周知 R是会话型语言 每次加载的内容都需要通过重启R才能清理掉
    那么举例子 我们去切换SeuratV4和SeuratV5

    默认版本如为V4 我们则直接执行下面三行安装V5的包 (租用服务器后 在服务器内可直接使用)

    install.packages("http://iyun70.com:8011/softs/Rpackages/Seurat/V5/Matrix_1.6-5.tar.gz", repos = NULL, type = "source")
    install.packages("http://iyun70.com:8011/softs/Rpackages/Seurat/V5/SeuratObject_5.0.2.tar.gz", repos = NULL, type = "source")
    install.packages("http://iyun70.com:8011/softs/Rpackages/Seurat/V5/Seurat_5.1.0.tar.gz", repos = NULL, type = "source")

    默认版本如为V5 我们则直接执行下面三行安装V4的包

    install.packages("http://iyun70.com:8011/softs/Rpackages/Seurat/V4/Matrix_1.6-1.1.tar.gz", repos = NULL, type = "source")
    install.packages("http://iyun70.com:8011/softs/Rpackages/Seurat/V4/SeuratObject_4.1.4.tar.gz", repos = NULL, type = "source")
    install.packages("http://iyun70.com:8011/softs/Rpackages/Seurat/V4/Seurat_4.4.0.tar.gz", repos = NULL, type = "source")
    # seurat-data也要改
    install.packages("http://iyun70.com:8011/softs/Rpackages/Seurat/V4/seurat-data_v0.2.1.tar.gz", repos = NULL, type = "source")

    切换版本如果还是爆粗 但是也清缓存了 那么需要重装一下这个包

    install.packages("http://iyun70.com:8011/softs/Rpackages/Seurat/igraph_1.3.5.tar.gz", repos = NULL, type = "source")

    接下来是重点 我们必须执行清理缓存

    Q6:
    conda安装软件总是失败

    # 执行安装 fastqc 
    conda install fastqc
    Channels:
     - defaults
     - conda-forge
    Platform: linux-64
    Collecting package metadata (repodata.json): done
    Solving environment: failed
    
    PackagesNotFoundError: The following packages are not available from current channels:
    
      - fastqc
    
    Current channels:
    
      - defaults
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
    
    To search for alternate channels that may provide the conda package you're
    looking for, navigate to
    
        https://anaconda.org
    
    and use the search bar at the

    原因是没有添加默认通道 需要手动指定对应的通道 可以参考如下图的查找方式

    conda install -c bioconda fastqc
    # 或使用mamba包管理器速度更快
    mamba install -c bioconda fastqc