Lantide Data

記憶體監控與管理

17. 記憶體監控與管理

Lantide Data 在運作過程中會將查詢結果、快取表與引擎資料保留在記憶體中。為了避免記憶體不足影響效能,系統提供了即時監控、壓力警告與一鍵清理機制。

17.1 標題列記憶體指示器

標題列右上角有一個記憶體用量圖示(MemoryStick,滑鼠暫留顯示「Memory usage」),即時反映目前的記憶體壓力等級:

狀態 圖示表現 說明
正常 預設色 記憶體使用量低於 70%
警告 黃色 使用量達 70%–90%,建議清理快取
危急 紅色 + 脈動動畫 使用量超過 90%,應立即清理

點擊此圖示即可開啟 Memory Dashboard 對話框。

17.2 記憶體壓力 Toast 通知

當記憶體壓力跨越閾值時,系統會自動彈出 Toast 通知:

  • Memory Warning — 使用量達約 70%,建議清理不需要的快取。
  • Memory Critical — 使用量超過約 90%,建議立即透過 Memory Dashboard 釋放空間。

17.3 Memory Dashboard

開啟 Memory Dashboard 後,你可以查看並管理所有記憶體相關設定:

整體用量

  • 頂部顯示 Overall: X / Y MB (Z%),搭配彩色進度條直覺呈現用量比例。

記憶體預算設定

設定項目 說明
Maximum Memory Budget 下拉選單可調整記憶體上限(256 MB 至約 80% 系統 RAM)。帶有 (recommended) 標記的選項為建議值(約 25% 系統 RAM,最高 4096 MB)。變更後立即生效
Max In-Memory Results 下拉選單設定記憶體中保留的查詢結果數量(1–20)。超出數量的結果會自動溢出至磁碟。變更後立即生效

模組記憶體分布

Dashboard 將記憶體拆分為四大模組,各自顯示估計用量(MB)與佔比(%):

模組 說明 可執行的操作
DuckDB Engine 查詢引擎佔用的記憶體
Query Result Cache 查詢結果快取(含記憶體內數量與已溢出數量) Spill to Disk
Tab Cache 分頁快取表 Drop All
Python Overhead Python 運行時開銷 Force GC

已快取表清單

在模組卡片下方,你可以看到所有快取表的名稱、行數與估計大小。每筆快取旁有刪除按鈕,可逐一移除不需要的快取表。

磁碟溢出(Disk Spill)

顯示已溢出到磁碟的資料量與暫存目錄路徑。

Emergency Clean(緊急清理)

點擊 Emergency Clean 按鈕,系統會一次執行所有清理動作:將查詢結果溢出至磁碟、釋放所有分頁快取、執行 Python 垃圾回收。完成後會以 Toast 通知顯示釋放的記憶體量。

提示: Memory Dashboard 開啟期間,用量數據每 2 秒自動刷新;關閉後改為每 5 秒刷新。當瀏覽器分頁不可見時,輪詢會自動暫停以節省資源。