实验室计算工作站用户使用手册

实验室计算工作站用户使用手册

_

一、服务器基本信息

  • 服务器类型:高性能单机工作站(非集群)

  • 操作系统:Ubuntu 22.04 LTS

  • 内网 IP172.18.51.48

  • 公网 IP管理员获取 【端口xx】 禁止传输大型文件(改用内网)

  • 资源概况:104 核 CPU / 500GB 内存

  • 管理模式:多用户共享 + 资源申请制调度


二、登录方式

1. SSH 终端登录(推荐)

①内网登陆

ssh 你的用户名@172.18.51.48

🔐 密码:由管理员分配的初始密码

②公网登陆【6000端口,禁止传大型文件】

ssh -p 6000 用户名@管理员获取

2. RStudio Server(Web 端)

适用于 R 语言交互式分析、绘图及报告生成。


三、数据存储规范

服务器存储分为两类,请严格区分用途:

✅ 家目录(Private)

  • 路径/home/你的用户名(即 ~

  • 用途:存放代码脚本、配置文件、轻量级文本数据。

  • 权限:仅你自己可见(已配置权限隔离)。

✅ 数据盘(Shared Storage)

  • 路径/data/disk1/data/你的用户名/data/disk2/data/你的用户名

  • 用途必须存放大型数据集、测序原始数据、模型训练结果。

  • 注意:请勿在 /data 根目录下直接建立文件,请在自己的子目录中操作。


四、软件环境使用

1. R 语言环境

  • 多版本支持:系统已安装多个 R 版本(如 4.4, 4.3 等)。

  • 包管理

    • 普通用户不需要(也无法)向系统库安装包 。

    • 直接运行 install.packages("包名"),系统会自动安装到你的家目录 ~/R/ 下,且仅对你可见 。

2. Python 环境

  • 服务器已预装 Conda。

  • 创建自己的虚拟环境:

    conda create -n my_env python=3.9
    conda activate my_env

3. GitHub Copilot

  • RStudio Server 已开启 Copilot 支持 。

  • 注意:这是基于用户隔离的。你需要点击 Tools -> Global Options -> Copilot,登录你自己有权限的 GitHub 账号才能使用 。


五、任务提交与调度(核心)

📌 核心原则

资源申请制:所有计算任务必须通过 lab_submit 提交。 禁止裸跑:严禁在 SSH 前台直接运行 pythonRscript任务保活:必须结合 tmux 使用,防止断网导致任务中断。

✅ 标准操作流程

(一)任务提交命令详解:lab_submit

lab_submit 是实验室自研的轻量级调度工具(类似 Slurm 的 sbatch),用于申请计算资源。

1. 语法格式

lab_submit [选项] <CPU核数> <内存> <命令>

2. 参数详细说明

参数位置

参数名

必填

说明

示例

Option

--log <路径>

自定义日志输出路径。不填则默认保存在 ~/lab_logs/

--log ./run.log

Arg 1

CPU 核数

申请使用的 CPU 核心数量(整数)。系统总共 104 核。

1632

Arg 2

内存大小

申请使用的内存上限。支持 G (GB) 或 M (MB)。

64G128000M

Arg 3

命令

你实际要运行的程序命令。

python train.py

(二)两种提交任务的方式

方式 A:标准交互式(推荐新手)

适用场景:需要调试代码,或者想看着任务跑起来再离开。

  1. 新建会话

    tmux new -s my_job
  2. 提交任务

    # 申请 32 核 CPU,128G 内存,运行 training.py
    lab_submit 32 128G python training.py
  3. 挂起离开: 按下 Ctrl + b,松手,再按 d。任务会在后台继续排队或运行。


方式 B:一行命令“即发即走”(高级用法)🔥

适用场景:代码已调试好,只想快速扔进后台排队,不需要看输出。

利用 tmux 的后台模式 (-d) 直接包裹提交命令:

# 语法:tmux new -d -s <会话名> "完整提交命令"
tmux new -d -s job_v1 "lab_submit 32 128G python train.py"

命令解析

  • tmux new:新建会话。

  • -d:Detached,直接在后台创建,不进入终端窗口。

  • -s job_v1:给这个后台任务起个名字叫 job_v1

  • "...":双引号内是你要执行的 lab_submit 完整命令。

👉 执行完这行命令后,你可以直接关机下班。


(三)任务管理与监控

提交任务后,你可以像使用 Slurm 一样管理它们。

1. 查看任务状态 (lab_queue)

查看当前所有排队和运行中的任务:

lab_queue

输出示例

JOBID  USER    STATUS     CPU   MEM   SUBMIT_TIME        COMMAND
42     zrjl    RUNNING    32    128G  2024-02-13 14:20   python train.py
43     liuyu   PENDING    64    256G  2024-02-13 14:35   Rscript analysis.R

状态说明

  • RUNNING:正在计算中。

  • PENDING:资源不足,正在排队(等别人跑完自动开始)。

2. 查看日志 (lab_log)

任务的输出(print/stdout/stderr)会被自动捕获。

# 查看指定 JobID 的日志
lab_log 42
​
# 或者手动查看(默认路径)
tail -f ~/lab_logs/42.log

3. 取消任务 (lab_cancel)

如果参数填错了,或者不想跑了:

lab_cancel 42

系统会自动杀掉对应的 tmux 会话和进程,并释放资源。


(四)注意事项

  1. 内存限制是强制的:如果你申请 32G 但程序实际用了 33G,系统内核会直接杀死(OOM Kill)你的任务。宁可多申,不可少申

  2. 日志路径:如果不使用 --log 参数,请定期清理你的 ~/lab_logs/ 目录。

  3. 公平原则:请勿一个人提交 10 个 64核 的任务占满队列,建议大任务串行提交。


(五)tmux 常用速查

由于任务运行在 tmux 中,你需要掌握以下基础命令:

目标

命令

新建会话

tmux new -s <名字>

查看所有会话

tmux ls

回到会话

tmux attach -t <名字>

暂时离开

Ctrl+b 松手,再按 d

关闭会话

在会话内输入 exitCtrl+d


六、常见问题 (FAQ)

Q: 我提交了任务,但一直显示 Pending 怎么办?

A: 说明当前服务器资源紧张,你的任务正在排队。一旦前面有人任务结束,释放出足够的 CPU/内存,你的任务会自动开始。

Q: 为什么我安装 R 包报错 "Permission denied"?

A: 请检查你是否使用了 sudo。普通用户安装包不需要 root 权限,直接安装即可,系统会自动识别你的私有库路径。

Q: 我可以直接关掉 SSH 窗口吗?

A: 只要你的任务是在 tmux 里通过 lab_submit 提交的,你可以随时关闭 SSH 窗口,任务不会断。

Q:我能看到别人的文件吗?

❌ 不能。每个人的家目录和数据目录都是隔离的。

Q:R 包安装失败怎么办?

✅ 确认你没有用 sudo ✅ 确认网络正常 ✅ 如仍失败,联系管理员

Q:服务器变慢了怎么办?

✅ 用 htop 看是否有任务占满资源 ✅ 联系管理员协助处理


七、联系与支持

  • 管理员:liuyu

  • 问题类型:

    • 登录问题

    • 权限问题

    • R / Python 环境问题

    • 数据目录问题


✅ 最重要的一句话

代码在家目录,数据在 /data,环境自己管,资源要自觉。

评论区