跳至主要内容

系統面板

「系統」面板整合了 Linux CPU 計數器、系統負載平均值、記憶體使用量、SiMa MLA 分配器報告、EV74 連續記憶體池,以及週期性的程序快照。

CPU 欄位

欄位來源與計算方式
CPU 使用量系統採樣之間,彙總的 CPU 時間變更量為 /proc/stat。忙碌百分比為 1 - idle_delta / total_delta;閒置狀態包含閒置和 I/O 等待狀態。
CPU 核心使用量針對 /proc/stat 中的每個 cpuN 行,執行相同的差異值計算。
CPU 負載(過去 1 分鐘)/proc/loadavg 中的第一個值;Linux 以指數方式計算的可執行任務和處於不可中斷等待狀態中的任務的平均數量。
CPU 負載量(過去 1 分鐘的百分比)load1 / logical_core_count × 100。這是一種用於呈現的正規化方法,且可以超過 100%。

CPU 使用率是指在最新採樣時間範圍內,CPU 立即忙碌的時間。負載是指在約一分鐘內排隊或等待處理的工作。高負載但 CPU 使用率低,可能表示存在 I/O 等待或工作被阻擋,而非 CPU 達到飽和狀態。

第一個 CPU 採樣值沒有先前的計數器基準值,因此無法使用。

每個核心和流程面板

每個核心的圖表顯示最新的 cpuN 使用率。向上/向下按鈕用於選擇核心。

程序表格欄位如下:

欄位意義
程序識別碼Linux 程序識別碼。
中央處理器/proc/<pid>/stat 中記錄的最後一個處理器編號;這表示該程序上次是在哪個處理器上執行的,並非保證該程序會一直與該處理器關聯。
CPU 使用率計算使用者和系統 CPU 週期差異,然後除以經過的時間。大約 100% 代表一個完全使用的邏輯 CPU。多執行緒程序可能會超過 100%。
RSS MB/proc/<pid>/stat 取得的常駐頁面數量,乘以系統頁面大小,然後轉換為 MiB(兆位元組)。
姓名/proc/<pid>/stat 取得程序指令名稱。

系統會每隔五秒重新整理資料。Sentinel 只會保留全球前 64 個程序,並依 CPU 使用率和 RSS 值排序。當選定的核心沒有任何保留的程序時,使用者介面會切換為顯示全球保留的程序清單。因此,此面板更偏向於診斷用途,而非提供詳盡的程序統計報告。

Linux 記憶體

used_bytes = MemTotal - MemAvailable
used_pct = used_bytes / MemTotal × 100

MemAvailable 的數值來自 /proc/meminfo,並估算可供新工作使用的記憶體量,且不包含交換記憶體。這表示 Linux 可以回收的快取記憶體不會自動被視為不可用記憶體。

MB 顯示的數值是使用 1024 × 1024 位元組計算得出,因此從技術上來說,它實際上是 MiB(二進位兆位元組),即使使用者介面標籤顯示的是 MB(兆位元組)。

MLA 記憶體

Sentinel 讀取 /dev/simaai-mem,找到 Total allocated size:,解析以下十六進位位元組計數,並將其轉換為 MiB。

這是 MLA 分配器目前已分配的記憶體。它不是:

  • MLA 計算資源使用率;
  • 模型中的每秒畫面數 (FPS) 或延遲時間;
  • 總體實體 DRAM 使用量;
  • 一種測量 MLA 0.68V 功率的方法。

如果無法讀取裝置,或其文字格式無法識別,則該值將為「無法取得」,而非零。

EV74 CMA 記憶體

Sentinel 會從每個正常運作的守護程式樣本的 /proc/meminfo 中讀取 CmaTotalCmaFree,並回報:

EV74 CMA used = CmaTotal - CmaFree

CmaTotal 是在啟動時保留的連續記憶體區域。CmaFree 是該保留區域中目前未分配的部分。系統標籤會顯示已使用的值,而檢查點記錄則會保留總計、可用和已使用的值。 「比較執行」標籤可以疊加選取之執行的 EV74 CMA memory

當 EV74 是保留的 CMA 儲存區的消費者時,這是一個 EV74 消耗代理。Linux CMA 是一個共享的內核功能,因此另一個驅動程式的分配也可能會減少 CmaFree;Sentinel 無法僅僅從 /proc/meminfo 將這些頁面歸因於單個程序。如果缺少任何一個欄位,則導出的已使用值會報告為不可用,而不是零;任何存在的欄位都會保持其可用性。

啟動時的保留區域可以單獨檢查:

dmesg | grep -i cma