跳转到内容

Panel

Panel 页面会展示 AcePanel 进程自身的 Go 运行时统计信息和实时的 goroutine 堆栈跟踪。 它主要用于诊断面板自身,例如排查内存增长、垃圾回收行为或卡住的 goroutine。

你可以从 工具箱 中打开它,然后选择 Panel 标签页。 该页面分为两个子标签页:RuntimeGoroutines。 默认显示 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 的调度器状态(例如 runningIO waitselectchan receive)。 处于 running 状态的 goroutine 会被高亮显示。
  • goroutine ID:运行时分配的 goroutine 标识符。

展开某个条目即可查看该 goroutine 的完整堆栈跟踪,并以 Go 源码形式渲染以便阅读。

TIP

该视图主要用作调试辅助工具。 goroutine 数量过大或持续增长可能意味着存在泄漏,在反馈问题时这是很有用的信息。

注意事项

  1. 本页面反映 AcePanel 进程的内部状态,仅供诊断使用,并非用于日常管理。
  2. 这些数值是页面加载或刷新时获取的时间点快照,不会实时更新。
  3. 抓取所有 goroutine 堆栈会短暂暂停运行时,因此请避免在繁忙的服务器上反复刷新 Goroutines 子标签页。