Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Slurm ExplorerNew to Visual Studio Code? Get it now.
Slurm Explorer

Slurm Explorer

xx025

|
4 installs
| (0) | Free
Explore Slurm jobs, partitions, nodes, accounting history and logs through Remote-SSH.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Slurm Explorer

English · VS Code 扩展市场

在 VS Code 中查看 Slurm 当前任务、历史记录、分区和节点资源,并在文件编辑器标签中打开日志。支持简体中文和英文,适用于通过 Remote-SSH 连接 Slurm 登录节点,也可在已安装 Slurm 客户端的 Linux 本机运行。

安装与更新

从扩展市场安装

  1. 使用 Remote - SSH 连接 Slurm 登录节点。
  2. 按 Ctrl+Shift+X 打开扩展页,搜索 @id:xx025.slurm-job-viewer。
  3. 将 Slurm Explorer 安装到 SSH 主机;如果显示 Install in SSH: ...,点击该按钮。
  4. 点击活动栏的 Slurm Explorer 集群线条图标,查看任务。默认使用远端当前系统用户。

需要 VS Code 1.90 或更新版本。远端必须能运行 squeue、scontrol 和 sacct。扩展直接使用现有 SSH 登录权限,无需额外的 HTTP 服务或令牌。

更新已有扩展

在 Remote-SSH 窗口的扩展页点击 … → Check for Extension Updates(检查扩展更新),更新安装在 SSH 主机上的扩展。更新后执行 Developer: Reload Window(开发人员:重新加载窗口)。

如果更新尚未显示,也可以从 GitHub Releases 下载 .vsix,在远端窗口执行 Extensions: Install from VSIX... 安装。仓库和发布附件均可公开访问。

任务视图的 ↻ 只刷新任务数据,不检查扩展版本更新。

当前任务与用户范围

  • 当前任务按运行中、排队中、其他分组,显示 ID、名称、用户、状态、分区、运行时长和排队原因。
  • 点击任务打开详情,查看 CPU、请求内存、GRES、申请 / 分配资源、节点、时间限制、退出码、工作目录和日志路径等可用字段。
  • 点击用户图标,选择仅自己、所有用户、指定用户。当前任务和历史记录使用相同的用户范围。
  • 点击筛选图标,按 ID、名称、用户、状态、分区等字段匹配;清空输入可恢复全部结果。
  • 使用搜索图标按 ID 查找任务,支持数组任务 123_4 和异构任务组件 123+1。

任务列表默认每 30 秒自动刷新,也可点击 ↻ 手动刷新。查询失败时保留已有结果并显示错误;Show Query Output 可查看查询命令和诊断。

查看其他用户的任务与日志仍受 Slurm 隐私设置和文件权限约束。

分区与节点

Slurm 侧边栏使用 VS Code 原生的三个独立视图:任务、分区、节点。点击各自标题可折叠或展开,也可拖动排序、调整高度或通过视图菜单隐藏。分区和节点默认折叠,展开时加载。

  • 分区:显示状态、节点数、CPU 总数;默认分区名称后显示 *。点击查看时限、节点范围、允许的账户与用户组及全部控制器字段。
  • 节点:显示状态、已分配 / 总 CPU、已分配 / 总 GPU 和所属分区(例如 GPU 2/4 表示已分配 2 个、总共 4 个)。点击查看配置 / 已分配 / 空闲内存、CPU 负载、GPU/GRES、资源配置、分配情况和维护原因等可用字段。
  • 各视图标题的 ↻ 独立刷新。可见视图按 slurmJobs.refreshSeconds 自动刷新;设为 0 可关闭自动刷新。详情页的刷新详情重新查询控制器。
  • 分区与节点使用 scontrol show partition/node --oneliner(节点查询附加 --details),不受任务的用户范围和文字筛选影响。查询失败保留上次结果,并提供点击重试;权限和返回字段由集群决定。

GPU 数量优先读取 CfgTRES / AllocTRES,并兼容 Gres / GresUsed。缺失的数据以 — 显示;无 GPU 节点显示 0/0。数量以 Slurm 配置和分配的 GPU 资源为准,MIG 环境可能表示实例数量,不代表实时利用率。

左侧历史记录

任务树底部固定显示可展开的历史分组。首次展开时加载最近 7 天已完成、失败、取消、超时等已结束任务,并按结束时间从新到旧排列。点击历史任务即可打开详情。

  • 展开历史分组即可查看;也可从命令面板执行 Show Job History,定位、展开并刷新该分组。
  • ↻ 同时刷新当前任务和已请求过的历史记录;加载失败时,可点击分组内的提示重试。
  • 自动刷新启用、任务视图可见时,已请求过的历史最多每分钟自动刷新一次。
  • 用户范围和文字筛选同时作用于当前任务和历史;slurmJobs.historyDays 控制查询窗口。

历史来自 sacct 的任务分配记录。集群未启用记账、权限不足或记录已清理时,结果可能为空或显示查询错误。

文件编辑器日志

点击任务旁的输出图标,或在详情页点击打开标准输出 / 标准错误,直接在 VS Code 编辑器中打开实际日志文件。日志使用固定标签(不使用预览标签),重复打开同一文件会复用已有文档;合并到 stdout 的 stderr 会打开同一文件。

  • 使用编辑器原生的搜索、选择、复制、折行和分屏功能。内容保持原样,不插入颜色控制字符。
  • 文件更新由 VS Code 的文件机制处理;扩展不再轮询日志,也不提供终端自动滚动、暂停或清空操作。编辑器打开完整文件,大文件限制由 VS Code 处理。
  • 日志高亮可使用 Log File Highlighter(emilast.LogFileHighlighter)。对于 .out / .err,可点击右下角语言模式选择 Log,或按文件名配置关联:
{
  "files.associations": {
    "slurm-*.out": "log",
    "slurm-*.err": "log"
  }
}

自定义日志名可按需增加关联。Slurm Explorer 不会自动安装其他扩展或修改文件关联。

文件尚未生成或无法读取时显示错误;生成后再次点击打开。日志必须在当前扩展运行的主机上可访问;Remote-SSH 下会打开远端文件。

历史任务日志

打开历史任务的输出时,扩展会按需查询 Slurm 记账中保存的 StdOut / StdErr、WorkDir 和 JobIDRaw 等字段,解析日志路径,并支持数组任务文件名。

路径缺失时仅提示,跳过文件打开,不弹出文件选择框。 路径存在时,文件仍须保留在远端主机可访问的位置,并允许当前 SSH 用户读取。旧版本 Slurm 未提供日志路径字段时,历史列表和详情仍可正常使用。

控制器明确返回空的 stderr 路径时,使用合并后的 stdout。支持 %j、%A、%a、%x、%u 和数字补零;需要节点或任务上下文的模板(如 %N、%t)可能无法解析。

查看提交脚本

在作业详情页点击查看提交脚本,或右键当前 / 历史作业选择同名操作;也可从命令面板运行 Slurm: 查看提交脚本 并输入作业 ID。

扩展使用 scontrol write batch_script <job_id> - 获取 Slurm 控制器保存的脚本,在只读的 slurm-<job_id>.sh 文件标签中打开。不会执行脚本,也不会读取或覆盖提交目录里后来修改过的脚本;重复打开会重新查询并复用同一标签。作业详情标签页显示 Slurm 图标,适配浅色和深色主题。

这份内容是提交时交给 Slurm 的脚本快照。如果提交工具事先渲染了模板,可以在此查看渲染后的内容;Shell 变量、命令替换和运行时生成的命令不会自动展开。

控制器不再保留脚本时,会尝试 sacct --batch-script --jobs=<job_id> --noheader。历史脚本要求集群配置 AccountingStoreFlags=job_script,且记录仍保留在 slurmJobs.historyDays 查询范围内。交互任务、无权访问、脚本未保存或记录已清理时,显示原因;脚本访问仍受 Slurm 权限限制。

中英文与设置

在任务视图的更多操作菜单或命令面板运行 Slurm: Change Interface Language,选择跟随 VS Code、简体中文或英文。默认中文编辑器使用简体中文,其他语言使用英文。

手动语言设置作用于任务树、详情和扩展提示;原生命令、菜单、设置与编辑器界面使用 VS Code 的显示语言。Slurm 字段、状态码、任务数据和日志正文保持原文。

建议在 Remote Settings 中配置:

{
  "slurmJobs.language": "auto",
  "slurmJobs.user": "",
  "slurmJobs.binDirectory": "",
  "slurmJobs.refreshSeconds": 30,
  "slurmJobs.timeoutSeconds": 20,
  "slurmJobs.historyDays": 7
}
设置 默认值 说明
slurmJobs.language auto auto 跟随 VS Code;zh-cn 简体中文;en 英文
slurmJobs.user 空字符串 使用远端系统用户;* 查询所有用户;也可指定用户名
slurmJobs.binDirectory 空字符串 Slurm 命令所在绝对目录;留空使用扩展进程的 PATH
slurmJobs.refreshSeconds 30 可见任务、分区、节点视图刷新间隔,0–3600 秒;0 关闭视图和历史自动刷新,不影响编辑器文件更新
slurmJobs.timeoutSeconds 20 单条 Slurm 查询超时,2–120 秒
slurmJobs.historyDays 7 历史及记账查找窗口,1–365 天

命令速查

按 Ctrl+Shift+P 搜索 Slurm。下表使用英文命令名;中文界面会显示对应译名。

命令 用途
Refresh Jobs 刷新当前任务与已请求的历史
Select User Scope 选择仅自己、所有用户或指定用户
Change Interface Language 切换扩展界面语言
Filter Jobs 筛选当前任务和历史记录
Refresh Partitions 刷新分区列表
Refresh Nodes 刷新节点列表
Show Resource Details 查看所选分区或节点详情
Show Job History 定位、展开并刷新历史分组
Find Job by ID 按 ID 查询任务
Show Job Details 查看任务详情
Open Standard Output File 在文件编辑器中打开 stdout
Open Standard Error File 在文件编辑器中打开 stderr
View Batch Script 查看 Slurm 保存的提交脚本
Copy Job ID 复制任务 ID
Show Query Output 查看查询命令和诊断

常见问题与限制

  • 找不到 Slurm 命令:扩展不会加载交互式 Shell 初始化文件。若 Slurm 需 module load,请设置 binDirectory,并确保扩展进程具有所需环境和库路径。
  • 任务可见但日志不可读:任务查询权限与文件读取权限分别生效。仅位于计算节点本地磁盘的日志,无法从登录节点直接打开。
  • 日志更新慢:编辑器只能显示程序已写入文件的内容。Python 任务可使用 python -u 减少输出缓冲造成的延迟。
  • 资源使用率:CPU、GPU、内存等字段表示申请或分配情况;当前不提供实时 GPU 利用率、显存曲线或 step 级实际内存峰值汇总。
  • 当前查询默认集群,不提供联合集群切换;扩展仅在受信任工作区启用。

开发与发布

使用 Node.js 22 或更新版本:

npm ci
npm test
npm run package -- --out ../slurm-explorer.vsix

在 VS Code 打开源码目录,按 F5 启动扩展开发窗口。真实集群只读检查可先编译,再在登录节点运行 node test/live-check.cjs。扩展运行时没有第三方依赖。

项目已更名为 Slurm Explorer,扩展 ID 继续使用 xx025.slurm-job-viewer,保留现有安装和更新路径。.github/workflows/publish.yml 使用 GitHub Actions Trusted Publishing(OIDC)发布:手动运行 publish=false 只检查和打包,publish=true 发布到市场;发布 GitHub Release 也会触发,标签必须与 package.json 的版本一致。

media/icon.png 用于扩展市场和扩展列表,media/icon.svg 为可编辑源文件;media/slurm.svg 用于活动栏。

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft