本文档面向新加入研究组的同学,帮助你快速了解服务器的硬件配置、软件环境以及日常使用方法。
服务器硬件概览
| 项目 | 配置 |
|---|---|
| 操作系统 | Ubuntu 24.04.3 LTS (Noble Numbat) |
| CPU | Intel Core i9-14900K (32 线程,最高 6.0 GHz) |
| 内存 | 128 GB DDR5 |
| GPU | NVIDIA GeForce RTX 3090 (24 GB VRAM) |
| 硬盘 | 1.8 TB NVMe SSD(已用约 620 GB,剩余约 1.1 TB) |
| NVIDIA 驱动 | 535.274.02 |
| CUDA 版本 | 12.2 |
登录服务器
校内网络(实验室 / 校园 WiFi)
在学校内网环境下,直接通过 SSH 连接:
ssh 你的用户名@125.221.233.110
校外网络(寒暑假 / 在家 / 出差)
不在学校时,通过 frp 内网穿透 连接。服务器已配置 frpc 服务(开机自启),将 SSH 映射到了一台公网服务器上:
ssh 你的用户名@8.155.17.44 -p 6001
注意:校外连接走公网中转,网速会比校内慢一些,传输大文件建议回到校内操作。
快捷配置(推荐)
在你本地电脑的 ~/.ssh/config 中添加以下配置,之后用别名一键连接:
# 校内直连
Host lab
HostName 125.221.233.110
User 你的用户名
Port 22
# 校外穿透
Host lab-out
HostName 8.155.17.44
User 你的用户名
Port 6001
配置后使用方式:
ssh lab # 校内
ssh lab-out # 校外
首次登录后建议
- 修改默认密码:
passwd - 配置 SSH 密钥免密登录(推荐,校内校外各配一次):
# 在你的本地电脑上执行
ssh-keygen -t ed25519
ssh-copy-id lab # 校内
ssh-copy-id lab-out # 校外(同一台机器,配一次两个都生效)
- 使用
tmux保持长时间运行的任务不中断(服务器已安装 tmux 3.4):
tmux new -s mysession # 创建新会话
tmux attach -t mysession # 重新连接
# Ctrl+B, D # 临时分离(任务继续跑)
提示: 特别是校外连接时,网络不稳定容易断线,务必使用 tmux,否则训练任务会随 SSH 断开而终止。
Python 环境
环境总览
服务器使用 Miniconda 管理 Python 环境,base 环境已预装常用的科研工具包。
| 项目 | 版本 |
|---|---|
| Conda | 25.7.0 |
| Python (base) | 3.13.7 |
| PyTorch | 2.6.0+cu124 |
| JupyterLab | 4.4.7 |
已安装的主要 Python 包
深度学习框架:
torch2.6.0+cu124,torchvision0.21.0+cu124,torchaudio2.6.0+cu124torch-geometric2.6.1
数据科学:
numpy2.1.2,pandas2.3.1,scipy1.16.1scikit-learn1.7.1,matplotlib3.10.5,seaborn0.13.2
生信分析:
scanpy1.11.4,anndata0.12.2
开发工具:
jupyterlab4.4.7
推荐工作流:创建自己的 Conda 环境
重要: 建议每个项目创建独立的 conda 环境,避免包冲突影响其他人。
# 创建新环境(指定 Python 版本)
conda create -n myproject python=3.11
# 激活环境
conda activate myproject
# 在新环境中安装需要的包
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124
pip install numpy pandas scikit-learn matplotlib
# 退出环境
conda deactivate
# 查看所有环境
conda env list
# 删除不再使用的环境(请及时清理,节省磁盘)
conda env remove -n myproject
使用 JupyterLab
启动 JupyterLab 并通过 SSH 隧道在本地浏览器访问:
# 在服务器上启动(建议在 tmux 中运行)
jupyter lab --no-browser --port=8888
# 在本地电脑新开一个终端,建立 SSH 隧道
ssh -N -L 8888:localhost:8888 你的用户名@服务器IP
然后在本地浏览器打开 http://localhost:8888,输入终端显示的 token 即可。
GPU 使用
# 查看 GPU 使用情况
nvidia-smi
# 在 Python 中验证 CUDA
python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"
GPU 使用礼仪:
- 跑大模型/长训练前,先用
nvidia-smi确认 GPU 空闲 - 如果 GPU 被占用,请在群里协调
- 训练结束后及时释放 GPU 显存(关掉 Python 进程)
R 环境
环境总览
R 已安装在系统级别,所有用户可以直接使用,无需各自配置。
| 项目 | 信息 |
|---|---|
| R 版本 | 4.5.3 (2026-03-11) |
| 路径 | /usr/bin/R, /usr/bin/Rscript |
| CRAN 镜像 | 清华大学镜像(自动配置) |
| 共享包目录 | /usr/local/lib/R/shared-library |
| 预装包数量 | 289 个 |
直接使用
# 启动交互式 R
R
# 运行 R 脚本
Rscript my_analysis.R
# 在 R 中使用预装包,直接 library() 即可
library(tidyverse)
library(DESeq2)
library(ggplot2)
预装 R 包分类
数据处理: tidyverse, dplyr, tidyr, readr, data.table, readxl, writexl, jsonlite, yaml, haven, lubridate, forcats, purrr, tibble, stringr
可视化: ggplot2, ggpubr, pheatmap, RColorBrewer, viridis, cowplot, patchwork, ggrepel, ggsci, ggforce, gridExtra, scales
统计分析: survival, survminer, lme4, broom, car, rstatix, lmtest
机器学习: caret, glmnet, randomForest, xgboost, e1071
生物信息学(Bioconductor): BiocManager, DESeq2, clusterProfiler, GenomicRanges, org.Hs.eg.db, Biobase, BiocGenerics, SummarizedExperiment, AnnotationDbi, DOSE, enrichplot, fgsea, GOSemSim, ggtree
开发工具: devtools, remotes, rmarkdown, knitr, testthat
安装额外的 R 包
如果需要的包不在预装列表中:
# 方式一:安装到个人目录(推荐,不影响他人)
install.packages("新包名")
# R 会自动提示创建个人库目录,选 yes 即可
# 方式二:安装到共享目录(需要 sudo 权限,请联系管理员)
# sudo Rscript -e "install.packages('新包名', lib='/usr/local/lib/R/shared-library')"
# 安装 Bioconductor 包
BiocManager::install("包名")
注意:R 路径问题
由于部分用户的 conda 环境中也有 R,请注意区分:
# 查看当前使用的是哪个 R
which R
# 如果显示的是 conda 下的 R(如 /home/xxx/miniconda/bin/R),
# 但你想用系统 R,可以指定完整路径:
/usr/bin/R
/usr/bin/Rscript my_script.R
# 或者临时取消 conda 的 PATH 优先级:
conda deactivate
网络代理(V2Ray)
服务器已配置 V2Ray 代理服务,用于访问 Google Scholar、GitHub、Hugging Face 等国内网络受限的资源。
代理概览
| 项目 | 信息 |
|---|---|
| V2Ray 版本 | 5.38.0 (V2Fly) |
| HTTP 代理 | 127.0.0.1:1087 |
| SOCKS5 代理 | 127.0.0.1:1080 |
| 服务状态 | systemd 托管,开机自启 |
| 节点来源 | Lark @AcrossGFWBot(每月推送) |
日常使用
服务器的 .bashrc 中已配置了 proxy_on / proxy_off 快捷命令:
# 开启代理(当前终端生效)
proxy_on
# 关闭代理
proxy_off
# 查看代理状态
proxy_status
开启后,curl、wget、pip、git clone、conda 等命令行工具会自动走代理。
使用场景举例:
# 从 Hugging Face 下载模型
proxy_on
pip install transformers
python -c "from transformers import AutoModel; AutoModel.from_pretrained('bert-base-uncased')"
# 克隆 GitHub 仓库
proxy_on
git clone https://github.com/some/repo.git
# 访问 Google Scholar(命令行测试)
proxy_on
curl -s https://scholar.google.com | head -5
在 Python 脚本中使用代理:
import os
os.environ["http_proxy"] = "http://127.0.0.1:1087"
os.environ["https_proxy"] = "http://127.0.0.1:1087"
# 之后的网络请求会自动走代理
在 R 中使用代理:
Sys.setenv(http_proxy = "http://127.0.0.1:1087",
https_proxy = "http://127.0.0.1:1087")
# 之后 install.packages() 等联网操作会走代理
每月更新节点
Lark 上的 @AcrossGFWBot 每月会推送新的 vmess 链接。收到新链接后,使用服务器上的 update-v2ray 脚本一键更新:
# 一键更新(粘贴完整的 vmess:// 链接)
update-v2ray "vmess://eyJhZGQiOiJ4eHguLi4..."
# 脚本会自动完成:
# 1. 解析 vmess 链接
# 2. 备份旧配置
# 3. 生成新配置
# 4. 重启 V2Ray 服务
# 5. 测试连接
其他常用命令:
# 查看当前节点和服务状态
update-v2ray status
# 测试代理是否可用
update-v2ray test
# 手动管理服务
v2ray-control status # 查看状态
v2ray-control restart # 重启服务
v2ray-control logs # 查看实时日志
注意事项
- 代理仅在本机可用(监听 127.0.0.1),不会暴露到外网
proxy_on只对当前终端会话生效,新开终端需要重新执行- 如果代理连不上,可能是节点过期了,请联系管理员更新或自行用
update-v2ray更新 - 不要滥用代理流量,仅用于科研相关的资源访问
- 节点信息每月更新,过期后需要用 @AcrossGFWBot 推送的新链接重新配置
代理不工作时的排查
# 1. 检查服务是否在运行
v2ray-control status
# 2. 检查端口是否在监听
ss -tuln | grep -E '1080|1087'
# 3. 测试连接
update-v2ray test
# 4. 如果服务挂了,尝试修复
fix-v2ray
# 5. 如果节点过期,用新链接更新
update-v2ray "vmess://新链接..."
常用开发工具
| 工具 | 版本 | 用途 |
|---|---|---|
| git | 2.43.0 | 版本控制 |
| gcc/g++ | 13.3.0 | C/C++ 编译器 |
| cmake | 3.28.3 | 构建工具 |
| tmux | 3.4 | 终端复用 |
| vim | 9.1 | 文本编辑器 |
单机与服务器协作开发
文件上传与下载
推荐优先使用 scp / rsync,也可以使用图形化工具(FileZilla、XFTP)。
# 本地上传目录到服务器
scp -r ./project 你的用户名@125.221.233.110:~/
# 服务器下载文件到本地
scp 你的用户名@125.221.233.110:~/result.csv ./
# 增量同步(推荐,适合大项目)
rsync -avzP ./project/ 你的用户名@125.221.233.110:~/project/
如果你更习惯图形化操作,可在 FileZilla/XFTP 中配置同样的主机、端口、用户名和密码后拖拽传输。
VS Code / Cursor 远程开发(推荐)
本地安装 Remote SSH 扩展后,可直接连接服务器并远程编辑代码,常见流程如下:
- 先在本地验证 SSH(
ssh lab或ssh lab-out) - 在 VS Code / Cursor 中使用 Remote SSH 连接
- 打开服务器上的项目目录
- 在远程终端中激活 conda 环境并运行代码
- 配合 Jupyter 或 Python 调试器进行远程调试
这种方式通常比纯命令行更高效,也更适合长期项目维护。
R 与 Python 混合开发
如果一个项目同时需要 R 的统计能力和 Python 的深度学习生态,推荐以下方式:
- 在 R 中调用 Python:
reticulate - 在 Python 中调用 R:
rpy2 - 在同一个 Notebook 中混写:Jupyter(分 cell 使用不同内核)
实践建议:把数据处理和模型训练拆成清晰的脚本阶段,减少跨语言状态耦合,便于复现和排错。
磁盘空间管理
服务器总共 1.8 TB,是大家共享的资源。请注意:
# 查看自己的目录占用
du -sh ~
# 查看磁盘总体使用
df -h /
清理建议:
- 定期清理不用的 conda 环境:
conda env remove -n 环境名 - 清理 conda 缓存:
conda clean --all - 清理 pip 缓存:
pip cache purge - 训练完成后,删除不需要的 checkpoint 文件
- 大型数据集用完及时删除或移到外部存储
常见问题
pip install 时报错 permission denied?
不要使用 sudo pip install。应该在自己的 conda 环境中安装:
conda activate myenv
pip install 包名
CUDA out of memory?
# 查看谁在用 GPU
nvidia-smi
# 如果是自己之前的僵尸进程,可以 kill 掉
kill -9 <PID>
R 的 library() 找不到包?
确认你用的是系统 R 而不是 conda 里的 R:
which R # 应该是 /usr/bin/R
如果不是,先 conda deactivate 再运行 R。
在家连不上服务器?
校外需要走 frp 穿透,注意端口是 6001:
ssh 你的用户名@8.155.17.44 -p 6001
如果仍连不上,可能是公网服务器或 frpc 服务异常,请联系管理员。
pip install 或 git clone 很慢/超时?
可能需要开代理:
proxy_on
pip install transformers
# 或
proxy_on
git clone https://github.com/xxx/yyy.git
如果 proxy_on 后仍不行,运行 update-v2ray test 检查代理是否可用,可能节点需要更新。
长时间任务怎么跑?
使用 tmux,防止 SSH 断开后任务终止:
tmux new -s training
python train.py
# Ctrl+B, D 分离
# 之后用 tmux attach -t training 重新连接
联系与协作
- 有问题请先查阅本文档
- 需要安装系统级软件或共享 R 包,请联系管理员 (chenx)
- GPU 使用请在群里协调,避免冲突
- 请保持良好的磁盘卫生,及时清理不用的数据和环境
最后更新:2026-04-10 | 维护人:chenx