Panel
Panel 页面会展示 AcePanel 进程自身的 Go 运行时统计信息和实时的 goroutine 堆栈跟踪。 它主要用于诊断面板自身,例如排查内存增长、垃圾回收行为或卡住的 goroutine。
你可以从 工具箱 中打开它,然后选择 Panel 标签页。 该页面分为两个子标签页:Runtime 和 Goroutines。 默认显示 Runtime 子标签页。
TIP
本页面的所有数据描述的是 AcePanel 后端进程(ace)自身,而非你的网站、数据库或其他应用。 如需检查任意系统进程,请改用 进程管理 页面。
Runtime
Runtime 子标签页会按需读取面板进程的运行时和内存统计信息。 点击 基本信息 标题栏中的 刷新 即可重新加载所有数值。
数据按以下几个部分分组。
基本信息
| 字段 | 说明 |
|---|---|
| 运行时长 | 面板进程已运行的时长 |
| Go | 构建面板时所用的 Go 版本 |
| Goroutines | 当前正在运行的 goroutine 数量 |
| CPU 核心数 | 进程可用的逻辑 CPU 数量 |
| Cgo 调用 | 进程发起的 cgo 调用总数 |
内存
进程的常规内存统计信息。
| 字段 | 说明 |
|---|---|
| 已分配 | 当前使用中的已分配堆对象字节数 |
| 累计分配 | 一段时间内为堆对象累计分配的字节数 |
| 系统 | 从操作系统获取的内存总字节数 |
| 查找次数 | 运行时执行的指针查找次数 |
| Mallocs | 已分配堆对象的累计计数 |
| Frees | 已释放堆对象的累计计数 |
堆
详细的堆分配统计信息。
| 字段 | 说明 |
|---|---|
| 已分配 | 当前使用中的已分配堆对象字节数 |
| 系统 | 从系统获取的堆内存字节数 |
| 空闲 | 空闲(未使用)堆 span 的字节数 |
| 使用中 | 使用中堆 span 的字节数 |
| 已释放 | 归还给操作系统的物理内存字节数 |
| 对象数 | 已分配堆对象的数量 |
Stack / MSpan / MCache
栈内存以及运行时内部分配器结构的统计信息。
| 字段 | 说明 |
|---|---|
| 栈使用中 | 栈 span 使用的字节数 |
| 栈系统 | 从系统获取的栈内存字节数 |
| MSpan 使用中 | 已分配 mspan 结构的字节数 |
| MSpan 系统 | 为 mspan 结构从系统获取的字节数 |
| MCache 使用中 | 已分配 mcache 结构的字节数 |
| MCache 系统 | 为 mcache 结构从系统获取的字节数 |
| BuckHash 系统 | 性能分析桶哈希表使用的字节数 |
| 其他系统 | 用于其他运行时分配的内存字节数 |
GC
垃圾回收统计信息。
| 字段 | 说明 |
|---|---|
| GC 运行次数 | 已完成的 GC 周期总数 |
| 强制 GC 次数 | 由应用强制触发的 GC 周期数 |
| GC 暂停总计 | 停止世界(STW)GC 暂停所累计的时间 |
| 上次 GC | 最近一次垃圾回收的时间戳 |
| 下次 GC 目标 | 将触发下一次 GC 的堆大小目标 |
| GC 系统 | 用于 GC 元数据的内存字节数 |
| GC CPU 占用比 | GC 占用的总 CPU 时间比例,以百分比形式显示 |
TIP
内存和堆相关数值以可读单位(B、KB、MB、GB、TB)显示。 时长和 GC 暂停时间会自动格式化(例如 ns、us、ms 或 s),运行时长则以天、时、分、秒显示。
Goroutines
Goroutines 子标签页会转储面板进程内当前运行的每个 goroutine 的完整堆栈跟踪。
出于性能考虑,该数据 不会 自动加载。 它会在你首次打开该子标签页时获取,你可以随时通过 刷新 按钮重新加载。 顶部的计数器会显示 goroutine 的总数(Total: N)。
每个 goroutine 都以可折叠条目的形式列出,显示:
- 状态:goroutine 的调度器状态(例如
running、IO wait、select、chan receive)。 处于running状态的 goroutine 会被高亮显示。 - goroutine ID:运行时分配的 goroutine 标识符。
展开某个条目即可查看该 goroutine 的完整堆栈跟踪,并以 Go 源码形式渲染以便阅读。
TIP
该视图主要用作调试辅助工具。 goroutine 数量过大或持续增长可能意味着存在泄漏,在反馈问题时这是很有用的信息。
注意事项
- 本页面反映 AcePanel 进程的内部状态,仅供诊断使用,并非用于日常管理。
- 这些数值是页面加载或刷新时获取的时间点快照,不会实时更新。
- 抓取所有 goroutine 堆栈会短暂暂停运行时,因此请避免在繁忙的服务器上反复刷新 Goroutines 子标签页。
