跳轉到內容

Panel

Panel 頁面會顯示 AcePanel 行程自身的 Go 執行環境統計資訊與即時的 goroutine 堆疊追蹤。 它主要用於診斷面板本身,例如排查記憶體成長、垃圾回收行為或卡住的 goroutine。

你可以從 工具箱 中開啟它,然後選擇 Panel 分頁。 此頁面分為兩個子分頁:RuntimeGoroutines。 預設顯示 Runtime 子分頁。

TIP

本頁面的所有資料描述的是 AcePanel 後端行程(ace)本身,而非你的網站、資料庫或其他應用程式。 若要檢查任意系統行程,請改用 行程管理 頁面。

Runtime

Runtime 子分頁會依需求讀取面板行程的執行環境與記憶體統計資訊。 點選 基本資訊 標題列中的 重新整理,即可重新載入所有數值。

資料分為下列幾個區塊。

基本資訊

欄位說明
執行時間面板行程已執行的時間
Go建置面板時所用的 Go 版本
Goroutines目前執行中的 goroutine 數量
CPU 核心數行程可用的邏輯 CPU 數量
Cgo 呼叫行程發出的 cgo 呼叫總數

記憶體

行程的一般記憶體統計資訊。

欄位說明
已配置目前使用中的已配置 heap 物件位元組數
累計配置一段時間內為 heap 物件累計配置的位元組數
系統從作業系統取得的記憶體總位元組數
查詢次數執行環境執行的指標查詢次數
Mallocs已配置 heap 物件的累計計數
Frees已釋放 heap 物件的累計計數

Heap

詳細的 heap 配置統計資訊。

欄位說明
已配置目前使用中的已配置 heap 物件位元組數
系統從系統取得的 heap 記憶體位元組數
閒置閒置(未使用)heap span 的位元組數
使用中使用中 heap span 的位元組數
已釋放歸還給作業系統的實體記憶體位元組數
物件數已配置 heap 物件的數量

Stack / MSpan / MCache

堆疊記憶體以及執行環境內部配置器結構的統計資訊。

欄位說明
Stack 使用中stack span 使用的位元組數
Stack 系統從系統取得的 stack 記憶體位元組數
MSpan 使用中已配置 mspan 結構的位元組數
MSpan 系統為 mspan 結構從系統取得的位元組數
MCache 使用中已配置 mcache 結構的位元組數
MCache 系統為 mcache 結構從系統取得的位元組數
BuckHash 系統效能分析 bucket 雜湊表使用的位元組數
其他系統用於其他執行環境配置的記憶體位元組數

GC

垃圾回收統計資訊。

欄位說明
GC 執行次數已完成的 GC 週期總數
強制 GC 次數由應用程式強制觸發的 GC 週期數
GC 暫停總計stop-the-world GC 暫停所累計的時間
上次 GC最近一次垃圾回收的時間戳記
下次 GC 目標將觸發下一次 GC 的 heap 大小目標
GC 系統用於 GC 中繼資料的記憶體位元組數
GC CPU 佔用比GC 佔用的總 CPU 時間比例,以百分比形式顯示

TIP

記憶體與 heap 相關數值以易讀單位(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 子分頁。