453 lines
16 KiB
Markdown
453 lines
16 KiB
Markdown
# XB 📊 硬件监控面板 — 使用说明书
|
||
|
||
> **节点名称**: `XB_MemoryVisualization`
|
||
> **显示名称**: `XB 📊 硬件监控面板 (Memory Visualization)`
|
||
> **分类**: `XB_ToolBox/Dashboard`
|
||
> **基于**: [ComfyUI-MemoryVisualization](https://github.com/kijai/ComfyUI-MemoryVisualization)
|
||
> **适配**: 小白工具箱 (XB_ToolBox) / NVIDIA + AMD 双卡支持
|
||
|
||
---
|
||
|
||
## 目录
|
||
|
||
1. [功能概览](#1-功能概览)
|
||
2. [安装与依赖](#2-安装与依赖)
|
||
3. [快速上手](#3-快速上手)
|
||
4. [面板布局详解](#4-面板布局详解)
|
||
5. [右键菜单](#5-右键菜单)
|
||
6. [迷你栏 (Mini Bar)](#6-迷你栏-mini-bar)
|
||
7. [模型列表](#7-模型列表)
|
||
8. [历史图表](#8-历史图表)
|
||
9. [主题切换](#9-主题切换)
|
||
10. [AMD GPU 用户须知](#10-amd-gpu-用户须知)
|
||
11. [常见问题](#11-常见问题)
|
||
|
||
---
|
||
|
||
## 1. 功能概览
|
||
|
||
硬件监控面板是一个**实时、可拖拽、可缩放**的系统资源监控窗口,在 ComfyUI 界面右下角自动显示。
|
||
|
||
### 核心功能
|
||
|
||
| 功能 | 说明 |
|
||
|------|------|
|
||
| **VRAM 显存监控** | 实时显示 GPU 显存使用量、分段占比(模型/Torch/缓存/其他) |
|
||
| **RAM 内存监控** | 系统内存、进程内存、固定内存、Python 占用 |
|
||
| **GPU 状态** | 利用率、温度、功耗(NVIDIA 全支持 / AMD 需 LibreHardwareMonitor) |
|
||
| **CPU 状态** | CPU 使用率、型号识别 |
|
||
| **磁盘监控** | 磁盘读写速率、各分区剩余空间 |
|
||
| **页面文件** | 虚拟内存使用情况 |
|
||
| **模型详情** | 已加载模型列表、每个模型的 VRAM/内存分段占用 |
|
||
| **历史图表** | VRAM 使用量趋势图(面积图/柱状图/K线图/点阵图) |
|
||
| **快捷操作** | 一键卸载模型、清除缓存、执行/中断工作流 |
|
||
|
||
### 界面截图说明
|
||
|
||
```
|
||
┌─────────────────────────────────────────┐
|
||
│ ≡ 硬件监控 [▶] [卸载▾] [⤤] [−] │ ← 标题栏(可拖拽)
|
||
├─────────────────────────────────────────┤
|
||
│ 内存 32.5GB|64.0GB │
|
||
│ ████████░░░░░░░░░░░░░░ 固定/已加载/... │ ← 内容区
|
||
│ 显存 9.0GB|15.9GB │
|
||
│ ██████████████░░░░░░░░ 模型/Torch/... │
|
||
│ 峰值: 12.3GB 缓存: 1.2GB GPU 45% 55°C │
|
||
│ 页面文件 2.1GB|16.0GB │
|
||
├─────────────────────────────────────────┤
|
||
│ 14:30 14:32 · 9.0GB 实时 │ ← 图表时间轴
|
||
│ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ │ ← 历史图表
|
||
│ ─────── ⬌ 拖拽调整图表高度 ─────── │
|
||
├─────────────────────────────────────────┤
|
||
│ ▸ AutoencodingEngine 320 MB │ ← 模型列表
|
||
│ ▸ Lumina2 5.7 GB │
|
||
│ ▸ ZImageT2IModel 4.1 GB │
|
||
└─────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 2. 安装与依赖
|
||
|
||
### 自动安装
|
||
|
||
面板**无需放置节点即可自动加载**。ComfyUI 启动后,监控窗口自动出现在界面右下角。
|
||
|
||
### 必备依赖
|
||
|
||
**第一步:安装 .NET 运行时(AMD GPU 必需)**
|
||
|
||
下载并安装 Windows Desktop Runtime 10.0.10:
|
||
```
|
||
https://builds.dotnet.microsoft.com/dotnet/WindowsDesktop/10.0.10/windowsdesktop-runtime-10.0.10-win-x64.exe
|
||
```
|
||
|
||
**第二步:安装 Python 依赖**
|
||
|
||
```bash
|
||
pip install psutil pythonnet
|
||
```
|
||
|
||
| 依赖 | 用途 | 必需 |
|
||
|------|------|------|
|
||
| `psutil` | CPU/内存/磁盘/进程信息 | ✅ 是 |
|
||
| `pythonnet` | .NET 桥接,驱动 LibreHardwareMonitor | ✅ 是 |
|
||
| `.NET Windows Desktop Runtime 10.0.10` | pythonnet 运行所需 | ✅ 是 |
|
||
| `LibreHardwareMonitorLib.dll` | GPU 传感器读取(已内置) | ✅ 是 |
|
||
| `nvidia-ml-py` | NVIDIA GPU 精准显存数据 | ⚠️ 可选 |
|
||
|
||
> `LibreHardwareMonitorLib.dll` 已内置在 `XB_ToolBox\` 目录中,无需额外下载。
|
||
|
||
### NVIDIA 用户(可选)
|
||
|
||
```bash
|
||
pip install nvidia-ml-py
|
||
```
|
||
|
||
安装后可获得设备级显存数据(而非进程级),Windows WDDM 下尤其有用。
|
||
|
||
---
|
||
|
||
## 3. 快速上手
|
||
|
||
### 3.1 启动面板
|
||
|
||
1. 启动 ComfyUI
|
||
2. 面板**自动出现**在界面右下角
|
||
3. 如果没有看到,检查 ComfyUI 控制台是否有报错
|
||
|
||
### 3.2 面板操作
|
||
|
||
| 操作 | 方法 |
|
||
|------|------|
|
||
| **移动面板** | 拖拽标题栏 |
|
||
| **调整大小** | 拖拽面板左/右/下边缘或右下角 |
|
||
| **折叠/展开** | 点击标题栏 `−` / `+` 按钮 |
|
||
| **弹出窗口** | 点击 `⤤` 按钮(画中画模式) |
|
||
| **运行工作流** | 点击 `▶` 按钮 |
|
||
| **取消运行** | 运行中点击 `■` 按钮 |
|
||
| **打开菜单** | 右键点击面板任意位置 |
|
||
|
||
### 3.3 工作流节点(可选)
|
||
|
||
你也可以将 `XB 📊 硬件监控面板` 节点拖入工作流:
|
||
- 节点本身**不产生任何输出**
|
||
- 执行节点时会在控制台打印当前 VRAM 状态
|
||
- 主要用作工作流中的"书签"标记
|
||
|
||
---
|
||
|
||
## 4. 面板布局详解
|
||
|
||
### 4.1 标题栏
|
||
|
||
```
|
||
≡ 硬件监控 [▶] [卸载▾] [⤤] [−]
|
||
```
|
||
|
||
| 元素 | 功能 |
|
||
|------|------|
|
||
| `≡` | 拖拽手柄(停靠模式下可见) |
|
||
| `硬件监控` | 面板标题 |
|
||
| `▶` / `■` | 执行/中断工作流按钮 |
|
||
| `卸载▾` | 卸载模型菜单 |
|
||
| `⤤` | 弹出画中画窗口 |
|
||
| `−` / `+` | 折叠/展开面板 |
|
||
|
||
> 注:标题文字默认**不显示**(避免占用顶栏横向空间,实测可省约 108~132px),可在右键菜单「迷你视图 → 头部显示」中开启。
|
||
|
||
### 4.2 内容区
|
||
|
||
#### 内存行
|
||
```
|
||
内存 32.5GB|64.0GB
|
||
████████░░░░░░░░░░░░░░░░░░░░
|
||
■ 固定 9.9GB ■ 已加载 0KB ■ Python 11.3GB ■ 其他 11.3GB
|
||
```
|
||
|
||
- **固定内存 (Pinned)**:用于 GPU 快速传输的锁页内存
|
||
- **已加载 (Loaded)**:已从磁盘加载到 RAM 的模型数据
|
||
- **Python**:Python 进程自身占用
|
||
- **其他**:系统及其他进程占用
|
||
|
||
#### 显存行
|
||
```
|
||
显存 (AMD Radeon RX 7900 XTX) 9.0GB|15.9GB
|
||
████████████████░░░░░░░░░░░░░░░░
|
||
■ 模型 5.7GB ■ Torch 2.1GB ■ 缓存 0.5GB ■ 其他 0.7GB
|
||
峰值: 12.3GB 缓存: 1.2GB GPU 45% 55°C 9W ● 运行中
|
||
```
|
||
|
||
- **模型 (Models)**:已加载模型占用的 VRAM
|
||
- **Torch**:PyTorch 活跃分配
|
||
- **缓存 (Cache)**:PyTorch 缓存池(可释放)
|
||
- **其他 (Other)**:驱动及其他进程占用
|
||
|
||
底部信息行:
|
||
| 项目 | 说明 |
|
||
|------|------|
|
||
| `峰值` | 自面板启动以来的 VRAM 最大使用量 |
|
||
| `缓存` | PyTorch 缓存池大小 |
|
||
| `GPU XX%` | GPU 核心利用率(点击可切换图表上的 GPU 曲线) |
|
||
| `XX°C` | GPU 温度 |
|
||
| `XX W` | GPU 功耗 |
|
||
| `● 运行中` / `● 空闲` | 工作流执行状态 |
|
||
|
||
#### 页面文件行
|
||
```
|
||
页面文件 2.1GB|16.0GB
|
||
████████░░░░░░░░░░░░░░░░░░░░░░
|
||
```
|
||
仅当系统启用了页面文件时显示。
|
||
|
||
---
|
||
|
||
## 5. 右键菜单
|
||
|
||
右键点击面板任意位置打开配置菜单:
|
||
|
||
```
|
||
┌─────────────────────┐
|
||
│ 缩放 ▸ │ 面板整体缩放 (50%~200%)
|
||
│ 字号 ▸ │ 字体大小 (10px~20px)
|
||
│ 轮询间隔 ▸ │ 数据刷新频率 (100ms~5s)
|
||
│ 显示 ▸ │ 显示选项
|
||
│ 迷你视图 ▸ │ 折叠状态下的迷你栏选项
|
||
│ 图表 ▸ │ 图表样式和颜色
|
||
│ 主题 ▸ │ 配色方案
|
||
│ 停靠宽度 ▸ │ 停靠到顶栏时的宽度
|
||
│ ✓ 停靠到顶栏 │ 切换浮动/停靠模式
|
||
│ 重置历史 │ 清除图表历史数据
|
||
└─────────────────────┘
|
||
```
|
||
|
||
### 5.1 缩放子菜单
|
||
|
||
| 选项 | 效果 |
|
||
|------|------|
|
||
| 50% ~ 200% | 面板整体缩放,包括所有文字和图表 |
|
||
|
||
### 5.2 字号子菜单
|
||
|
||
| 选项 | 适用场景 |
|
||
|------|----------|
|
||
| 10px ~ 12px | 小屏幕 / 紧凑布局 |
|
||
| 13px ~ 14px | 正常阅读 |
|
||
| 16px ~ 20px | 大屏 / 远距离观看 |
|
||
|
||
> 字号与缩放独立:字号只改变文字大小,缩放改变整个面板尺寸。
|
||
|
||
### 5.3 轮询间隔子菜单
|
||
|
||
| 选项 | 说明 |
|
||
|------|------|
|
||
| 100ms ~ 250ms | 极快刷新,CPU 开销较大 |
|
||
| **500ms** | 默认,平衡刷新率和性能 |
|
||
| 1s ~ 5s | 低频刷新,适合长时间监控 |
|
||
|
||
### 5.4 显示子菜单
|
||
|
||
| 选项 | 默认 | 说明 |
|
||
|------|------|------|
|
||
| 模型条着色 | ☐ | 按模型类型着色进度条 |
|
||
| 模型边框着色 | ☑ | 按模型类型着色边框 |
|
||
| 模型名着色 | ☑ | 按模型类型着色名称 |
|
||
| 显示图例 | ☑ | 显示分段图例文字 |
|
||
| 执行按钮 | ☐ | 显示播放/停止按钮 |
|
||
|
||
### 5.5 迷你视图子菜单
|
||
|
||
控制面板折叠后迷你栏中显示哪些内容:
|
||
|
||
| 选项 | 说明 |
|
||
|------|------|
|
||
| RAM | 内存进度条 |
|
||
| VRAM | 显存进度条 |
|
||
| CPU | CPU 使用率 |
|
||
| 页面文件 | 虚拟内存 |
|
||
| GPU ▸ | GPU 子菜单(利用率/温度/功耗) |
|
||
| 磁盘 ▸ | 磁盘子菜单(I/O + 各分区空间) |
|
||
| 设备名称 | 显示 GPU/CPU 型号 |
|
||
| 类型标签 | 显示 RAM/VRAM/CPU 标签 |
|
||
| 数值显示 | 显示具体数值 |
|
||
| 单位显示 | 显示 GB/MB/°C/W 单位 |
|
||
| 分隔线 | 显示分组分隔线 |
|
||
| 头部显示 | 显示顶栏开头的面板标题(默认关闭,节省横向空间) |
|
||
|
||
### 5.6 图表子菜单
|
||
|
||
| 选项 | 说明 |
|
||
|------|------|
|
||
| 面积图 (堆叠) | 默认,aimdo+Torch+其他分层显示 |
|
||
| 柱状图 | 每3个采样点聚合为一个柱子 |
|
||
| K线图 | 类似股票K线,显示开盘/收盘/最高/最低 |
|
||
| 点阵 (渐变) | 由上到下渐变的点阵密度图 |
|
||
| 显存颜色 | 自定义 VRAM 区域颜色 |
|
||
| 总量颜色 | 自定义总量曲线颜色 |
|
||
| 平滑度 | 总量曲线的移动平均窗口大小 (0~20) |
|
||
|
||
### 5.7 主题子菜单
|
||
|
||
| 主题 | 风格 |
|
||
|------|------|
|
||
| **default** | 深色主题,橙/绿/蓝配色 |
|
||
| comfy | 跟随 ComfyUI 自身主题 |
|
||
| light | 亮色主题 |
|
||
| sepia | 复古暖色调 |
|
||
| fallout | 哔哔小子辐射风(绿色 CRT) |
|
||
| pink | 粉色少女风 |
|
||
| lucifer | 黑底红字暗黑风 |
|
||
|
||
---
|
||
|
||
## 6. 迷你栏 (Mini Bar)
|
||
|
||
面板折叠后显示的精简状态栏:
|
||
|
||
```
|
||
RAM ████████░░░░ 32.5|64.0GB │ VRAM ██████░░░░ 9.0|15.9GB │ CPU ████░░ 45%
|
||
```
|
||
|
||
迷你栏中的 GPU 区域支持**多行模式**(同时显示利用率/温度/功耗时自动启用更紧凑的排版)。
|
||
|
||
---
|
||
|
||
## 7. 模型列表
|
||
|
||
展开面板后,底部显示所有已加载模型的详细信息:
|
||
|
||
```
|
||
▸ AutoencodingEngine 320 MB [×]
|
||
████████████████████████████████████░░░░░░░░
|
||
■ VRAM 320MB ■ pinned 0KB ■ loaded 0KB ■ RAM 0KB
|
||
|
||
▾ Lumina2 5.7 GB [×]
|
||
██████████████████████████████████░░░░░░░░░░
|
||
■ VRAM 5.6GB ■ pinned 103MB ■ loaded 0KB ■ unloaded 4KB
|
||
|
||
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░ ← aimdo 页级驻留(需 aimdo)
|
||
■ VRAM 5.6GB ■ unloaded 4KB
|
||
```
|
||
|
||
| 元素 | 说明 |
|
||
|------|------|
|
||
| `▸` / `▾` | 点击模型名展开/折叠详情 |
|
||
| `[×]` | 卸载该模型 |
|
||
| 彩色进度条 | VRAM(橙) / 固定内存(蓝) / 已加载(深蓝) / 未加载(灰) |
|
||
| 小方块网格 | aimdo 页面驻留可视化(需安装 comfy_aimdo) |
|
||
| `(static)` | 标记为非动态加载的模型 |
|
||
|
||
---
|
||
|
||
## 8. 历史图表
|
||
|
||
图表区域显示 VRAM 使用量随时间变化的趋势:
|
||
|
||
```
|
||
14:30 14:32 · 9.0GB 实时
|
||
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
|
||
─────────────────────── ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ← 虚线 = 总显存上限
|
||
────────────────⬌ 拖拽调整图表高度 ────────────────
|
||
```
|
||
|
||
| 操作 | 方法 |
|
||
|------|------|
|
||
| 查看历史 | 在图表上**左右拖拽**浏览历史数据 |
|
||
| 回到实时 | 拖到最右侧自动恢复实时模式 |
|
||
| 悬停详情 | 鼠标悬停在图表上查看具体时间/数值 |
|
||
| 调整高度 | 拖拽图表下方的分隔条 |
|
||
| 执行标记 | 绿色竖线 = 开始执行,红色竖线 = 执行结束 |
|
||
|
||
### 图表样式
|
||
|
||
| 样式 | 特点 |
|
||
|------|------|
|
||
| **面积图** | 堆叠显示 aimdo+Torch+其他,直观 |
|
||
| 柱状图 | 每3秒聚合,干净简洁 |
|
||
| K线图 | 精确显示波动范围 |
|
||
| 点阵图 | 由上到下密度渐变,艺术感强 |
|
||
|
||
---
|
||
|
||
## 9. AMD GPU 用户须知
|
||
|
||
### 支持的 GPU
|
||
|
||
| GPU 系列 | 架构 | 利用率 | 温度 | 功耗 | VRAM |
|
||
|----------|------|--------|------|------|------|
|
||
| RX 7000 系列 | RDNA 3 | ✅ | ✅ | ✅ | ✅ |
|
||
| RX 6000 系列 | RDNA 2 | ✅ | ✅ | ✅ | ✅ |
|
||
| RX 5000 系列 | RDNA 1 | ✅ | ✅ | ✅ | ✅ |
|
||
| Vega / Radeon VII | GCN | ✅ | ✅ | ✅ | ✅ |
|
||
|
||
### 监控原理
|
||
|
||
AMD GPU 监控通过 **LibreHardwareMonitor** 实现(一个跨厂商的开源硬件监控库)。原理是直接读取 GPU 的 SMU(System Management Unit)传感器数据,与 AMD Adrenalin 驱动面板使用相同的底层接口。
|
||
|
||
### 如果数据不显示
|
||
|
||
1. 确认 `XB_ToolBox\LibreHardwareMonitorLib.dll` 存在
|
||
2. 确认已安装 `pythonnet`:`pip install pythonnet`
|
||
3. 尝试**以管理员身份**运行 ComfyUI
|
||
4. 查看 ComfyUI 控制台是否有 `aimdo-viz: LibreHardwareMonitor` 相关日志
|
||
|
||
### 功耗显示的差异
|
||
|
||
AMD 功耗显示为 **GPU Package**(整个显卡的总功耗),单位是瓦特 (W),没有功率上限对比。这与 NVIDIA 的显示格式略有不同(NVIDIA 有 `功耗/上限` 格式)。
|
||
|
||
---
|
||
|
||
## 10. 常见问题
|
||
|
||
### Q: 面板没有自动出现?
|
||
|
||
A: 检查 ComfyUI 控制台是否有 JavaScript 报错。常见原因:
|
||
- `pythonnet` 未安装
|
||
- `LibreHardwareMonitorLib.dll` 缺失
|
||
- JS 文件加载失败(检查 `js/xb_memory_viz.js` 是否存在)
|
||
|
||
### Q: GPU 利用率/温度/功耗都显示"无数据"?
|
||
|
||
A:
|
||
- **NVIDIA**:安装 `nvidia-ml-py` 并重启
|
||
- **AMD**:确认 `pythonnet` 已安装且 .NET Windows Desktop Runtime 10.0.10 已安装,查看控制台日志
|
||
|
||
### Q: 面板太大/太小?
|
||
|
||
A: 右键 → **缩放** 调整面板大小,或右键 → **字号** 仅调整文字大小。
|
||
|
||
### Q: 如何让面板固定在顶栏?
|
||
|
||
A: 拖拽面板到顶部 ComfyUI 操作栏的"停靠左侧"或"停靠右侧"区域释放,或右键 → 停靠到顶栏。
|
||
|
||
### Q: 图表不更新?
|
||
|
||
A: 检查轮询间隔设置(右键 → 轮询间隔)。确保未将面板拖拽到历史数据中(右侧显示"实时"即为实时模式)。
|
||
|
||
### Q: 节点放到工作流中有用吗?
|
||
|
||
A: 面板**不需要**节点即可工作。节点的作用是:
|
||
- 作为工作流书签
|
||
- 执行时在控制台打印 VRAM 状态
|
||
|
||
---
|
||
|
||
## 附录:键盘与鼠标操作速查
|
||
|
||
| 操作 | 快捷键/方法 |
|
||
|------|------------|
|
||
| 移动面板 | 拖拽标题栏 |
|
||
| 快速拖拽(任意位置) | `Ctrl` + 拖拽(仅浮动模式;停靠时锁定在顶栏,需 `≡` 手柄拖出或右键→取消停靠) |
|
||
| 调整宽度 | 拖拽左/右边缘 |
|
||
| 调整高度 | 拖拽底部边缘 |
|
||
| 同时调整宽高 | 拖拽右下角 |
|
||
| 折叠/展开 | 点击 `−` / `+` |
|
||
| 弹出画中画 | 点击 `⤤` |
|
||
| 打开菜单 | 右键面板 |
|
||
| 关闭菜单 | 点击菜单外部 |
|
||
| 浏览图表历史 | 在图表上左右拖拽 |
|
||
| 图表悬停详情 | 鼠标悬停图表 |
|
||
| 切换图表 GPU 曲线 | 点击 `GPU XX%` 文字 |
|
||
| 折叠模型详情 | 点击模型名称 |
|
||
| 卸载单个模型 | 点击模型行 `[×]` |
|