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 秒刷新。当浏览器标签页不可见时,轮询会自动暂停以节省资源。