远程 Web 控制台
通过 SSH 隧道,在本地浏览器中浏览和操作远程 GPUMDkit 主机上的文件。
功能简介
gpumdkit.sh -server 会以启动时所在目录为根目录,打开一个浏览器控制台。
浏览器查看的是远程主机上的文件,不会把整个工作目录复制到本地。适合检查
远程模拟或训练输出、运行支持的绘图操作,以及进行少量文件操作,而不必传输
整个项目。
在远程主机上启动服务
先通过 SSH 登录远程主机,激活包含 GPUMDkit 的环境,进入希望在控制台中访问的 目录,然后启动服务:
请将占位符替换成实际的 SSH 账户、主机名和工作目录。如果不使用 Conda,请加载
包含 gpumdkit.sh 以及绘图所需 Python 包的环境。使用控制台期间,请保持这个
远程终端运行。
默认情况下,服务监听远程主机的 127.0.0.1:8888。启动服务时所在目录就是文件
浏览器的根目录;网页可以进入其子目录,但文件 API 不能访问根目录以外的路径。
在本地工作站建立 SSH 隧道
在本地工作站另开一个终端,运行:
账户和主机名与远程登录时相同。保持隧道终端运行,然后在本地浏览器打开:
第一个 8888 是本地端口,最后一个 8888 是远程服务端口。如果本地的 8888
已被占用,可以换成 8890:
随后打开 http://127.0.0.1:8890。如果远程的 8888 被占用,可以用
gpumdkit.sh -server 9000 启动服务,并通过
ssh -N -L 8888:127.0.0.1:9000 <用户名>@<主机名> 转发远程 9000 端口。
在本地隧道终端按 Ctrl+C 可关闭隧道;在远程服务终端按 Ctrl+C 可停止 Web
服务。
服务选项
| 选项 | 默认值 | 说明 |
|---|---|---|
port |
8888 |
Web 服务监听的端口 |
-b <address> |
127.0.0.1 |
服务监听的网络地址 |
-pw <password> |
loopback 监听时不启用 | 设置网页登录密码 |
使用 SSH 隧道时请保留默认的 loopback 地址。除非明确需要并符合主机安全策略,
不要绑定到 0.0.0.0。绑定非 loopback 地址时必须设置密码;服务本身不提供
HTTPS。此时如果省略 -pw,启动时会交互式询问密码。不要把密码写进共享脚本或
shell 历史记录。
网页控制台能做什么
- 浏览当前目录、筛选文件,并打开支持的文本和图片预览。
- 新建文件或文件夹、从本地上传文件,以及下载选中的远程文件。
- 运行可用的 GPUMDkit 绘图操作并查看输出图像。
- 在对应输出文件存在时查看 NEP 训练或 MD 进度。控制台读取输出文件,但不会 启动 GPUMD、提交调度器任务,也不会根据文件时间戳判断进程是否仍在运行。
- 通过终端抽屉运行快捷命令。命令在远程主机上执行,终端不受文件浏览器根目录 限制。
请从预期使用的 Conda 环境启动服务,这样允许执行的绘图操作会继承对应的 GPUMDkit 安装和 Python 依赖。本地与远程主机之间的文件传输需通过网页的上传和 下载操作显式完成。
故障排查
| 现象 | 检查方法 |
|---|---|
| 浏览器无法连接 | 确认远程服务和本地 SSH 隧道都仍在运行,并核对两端端口是否对应。 |
| 显示的文件不对 | 服务根目录取决于启动 gpumdkit.sh -server 时所在的目录;停止服务后在目标目录重新启动。 |
| 绘图操作失败 | 从包含 GPUMDkit 和绘图依赖的环境启动服务,并查看控制台中的操作输出。 |
| 进度没有变化 | 页面会重新读取输出文件,但只有文件写入新记录时进度才会变化;该监测器不是进程或调度器监控工具。 |