内存
实时内存分解(空闲/非活跃/活跃/固定),包含分配图表和历史记录。
概览
内存工具显示设备 RAM 的分配情况、可快速回收的内存量,以及分配情况随时间的变化。
该工具旨在回答以下实际问题:
- "该设备当前是否存在内存压力?"
- "内存是 被系统(固定)、应用程序(活跃)还是缓存(非活跃)占用?"
- "我的内存使用是否稳定,还是存在波动?"
在 Lirum Device Info 中,可用内存是 iOS 通常可以快速回收的内存量:空闲 + 非活跃。
目录
标签页
- 概览
- 详情
- 历史
概览标签页
概览标签页聚焦于已用内存:
- 显示已用百分比的环形仪表盘。
- 已用内存量和总 RAM。
- 简洁的分解表格:活跃、固定、非活跃、空闲。
当您需要快速了解"设备当前状态是否正常?"时,请使用此视图。 如果四行分解数据加起来不等于总量,请参阅压缩和"其他"。
详情标签页
详情标签页提供更完整的分解:
- 内存分配图表(活跃/固定/非活跃/空闲)。
- 详细内存信息表格,包含大小和百分比。
- 可用行,合并显示空闲 + 非活跃。
这是了解正在使用哪种类型的内存(以及是否可能被回收)的最佳位置。 如果空闲/非活跃/活跃/固定的百分比加起来不等于 100%,通常是因为部分内存当前被计入压缩或"其他"类别。
历史标签页
历史标签页帮助您了解趋势,而不仅仅是单个快照:
- 内存分配历史:活跃/固定/非活跃/空闲的堆叠时间线。
- 内存使用历史:随时间变化的整体使用情况简化视图。
在以下情况下使用历史标签页:
- 您怀疑存在内存泄漏或失控的工作负载(使用量持续上升)。
- 您想将卡顿/应用重新加载与内存压力关联起来(使用量飙升然后下降)。
- 您想查看固定内存是否增长并保持高位(通常是系统/驱动程序压力)。
内存状态
Lirum Device Info 使用 iOS 报告的相同高级分类。这些是 iOS 内存最有用的"心理模型"类别:
| 类别 | 通常含义 | iOS 能快速回收吗? |
|---|---|---|
| 空闲 | 未使用的 RAM,可随时分配 | 是(已经空闲) |
| 非活跃 | 主要是缓存和最近未访问的页面 | 通常可以 |
| 活跃 | 当前正在使用的工作集 | 不能直接回收 |
| 固定 | 锁定的、不可分页的系统内存 | 否 |
| 压缩 | 存储在内存压缩器中的页面 | 不能直接回收 |
| 其他 | 剩余类别(因操作系统/设备而异) | 视情况而定 |
可用(空闲 + 非活跃)
可用是一个实用的"我还有多少空间?"指标。
- 空闲:已经未使用的页面。
- 非活跃:主要是缓存页面,当其他应用需要内存时可以丢弃或重新分配。
这就是为什么 Lirum Device Info 在概览仪表盘和详情表格中显示可用 = 空闲 + 非活跃。
注意:可用并不保证系统会立即无成本地提供该数量的内存。回收非活跃页面仍可能涉及工作(丢弃缓存、写回脏页面、稍后重建缓存数据)。
实际意义:
- 如果可用很高且稳定,即使空闲很低,设备通常也有足够的余量。
- 如果可用持续偏低(并且在执行正常任务时保持低位),iOS 可回收的缓存较少,可能会开始采取更强的压力措施(压缩、终止应用)。
- 打开应用时短暂下降是正常的。缓慢稳定的下降且不恢复是常见的"压力"模式。
固定
固定内存是锁定(不可分页)的 RAM,无法按需压缩或回收。
可以将固定内存视为"必须常驻"的内存。它通常由内核和底层系统服务拥有,对于正确性或实时行为是必需的。
典型示例:
- 内核内存和核心操作系统服务
- 硬件驱动程序和 DMA 缓冲区
- 图形/显示表面和部分 GPU 相关分配
- 因实时性或正确性原因必须常驻的内存
重要性:
- 固定内存是最不灵活的类别。如果它增长很大,iOS 释放 RAM 的选项就更少,因此内存压力会更快出现。
- 设备可能显示低空闲内存但仍然正常,但持续高固定内存对 iOS 来说更难应对。
常见模式:
- 固定内存可能在使用相机、AR、游戏、视频管道、大量 I/O 或使用外部配件时增加。
- 固定内存往往是"粘性"的。某些固定分配不会快速缩减,有些只有在重启后才会重置。
- 如果固定内存随时间稳定增长且不下降,可能表明系统级持续压力(或系统服务或驱动程序中的泄漏)。
活跃
活跃内存是应用和系统当前正在使用(频繁引用)的 RAM。
活跃不仅仅是"应用内存"。它包括操作系统 当前认为热门的任何页面,包括文件支持的页面(例如代码和框架)和匿名页面(例如堆和栈)。
典型示例:
- 应用堆和工作集
- 正在使用的文件缓存和当前正在使用的解码媒体
- 系统/应用正在频繁访问的数据结构
重要性:
- 活跃内存不是"浪费的"内存;它是工作内存。它通常会跟踪您正在做的事情。
- iOS 不能简单地"释放"活跃页面而不产生后果。在压力下,iOS 通常会先尝试从缓存回收;如果不够,可能会压缩内存,最终终止应用。
常见模式:
- 活跃内存通常在您打开应用和工作时上升,当应用被终止或其页面随时间变为非活跃时可能下降。
- 如果活跃内存在工作负载不变时持续攀升(或设备空闲时),这可能暗示应用中存在内存泄漏或失控的缓存。
非活跃
非活跃内存是最近使用过的 RAM,现在主要作为缓存保留。
非活跃是 iOS 获得大部分"快速回收"空间的地方。非活跃内存的大部分是干净的文件缓存,可以丢弃并在需要时稍后重建。
典型示例:
- 缓存的文件页面
- 最近使用的应用内存,可以重新分配
- 未被频繁引用但保留着的数据,因为它可能再次变得有用
重要性:
- 非活跃通常是 iOS 在新分配需要 RAM 时首先回收的地方。
- 高非活跃通常是正常且良好的(缓存)。当系统需要内存时它应该下降。