/proc/meminfo
文件显示了系统的详细内存使用信息。它提供了比 free
命令更深入的视角,帮助你理解内存的使用情况。下面是各个字段的详细解释:
内存相关字段解释
- MemTotal: 物理内存总量。这里是
46804 kB
,约为 46 MB。 - MemFree: 未被分配的内存量(空闲内存)。显示
2352 kB
,即约 2.3 MB。 - MemAvailable: 可用于新分配的内存量,考虑到缓存和内存回收,显示
12740 kB
,即约 12.7 MB。 - Buffers: 用于缓冲数据的内存量。显示
624 kB
,用于缓存 I/O 操作的数据。 - Cached: 被缓存的数据,但仍可以用于进程的内存量。显示
14828 kB
,即约 14.8 MB。 - SwapCached: 来自交换分区的缓存页面,已被交换回内存但尚未被修改,因此在内存紧张时可以释放。这里是
0 kB
,表示没有启用交换缓存。
内存状态相关字段
- Active: 最近被使用或访问的内存量。显示
4936 kB
,即约 4.9 MB,表示活跃的内存。 - Inactive: 最近未使用但可能被重新使用的内存量。显示
20400 kB
,即约 20.4 MB。 - Active(anon): 活跃的匿名内存(未映射文件的页面)。这里是
28 kB
。 - Inactive(anon): 不活跃的匿名内存。显示
11940 kB
,即约 11.9 MB。 - Active(file): 活跃的文件缓存内存。显示
4908 kB
。 - Inactive(file): 不活跃的文件缓存内存。显示
8460 kB
,即约 8.5 MB。 - Unevictable: 无法被回收或释放的内存。显示
2084 kB
,即约 2 MB。
内核内存相关字段
- Mlocked: 由于内存锁定而无法被交换的内存。这里是
0 kB
。 - Slab: 用于内核数据结构的缓存内存。显示
8628 kB
,包括SReclaimable
和SUnreclaim
。- SReclaimable: 可以回收的 Slab 内存。显示
2484 kB
。 - SUnreclaim: 不能回收的 Slab 内存。显示
6144 kB
。
- SReclaimable: 可以回收的 Slab 内存。显示
- KernelStack: 内核堆栈使用的内存量。显示
944 kB
。
交换内存相关字段
- SwapTotal: 总交换分区的大小。这里是
0 kB
,表示没有配置交换分区。 - SwapFree: 空闲的交换分区大小。这里是
0 kB
。 - CommitLimit: 系统可以分配的最大内存量,包括交换分区。显示
23400 kB
。 - Committed_AS: 已承诺的内存量(已被程序申请但可能未实际使用)。显示
97112 kB
,表示系统内存过量使用的风险较高。
其他内存字段
- PageTables: 页表使用的内存。显示
444 kB
。 - AnonPages: 未映射到文件的匿名内存。显示
12016 kB
。 - Mapped: 内存映射的文件大小。显示
6460 kB
。 - Shmem: 共享内存大小。这里是
0 kB
,表示没有使用共享内存。 - KReclaimable: 内核可回收内存。显示
2484 kB
,与SReclaimable
相同。
内存分配相关字段
- VmallocTotal: 可供
vmalloc
分配的虚拟内存总量。显示983040 kB
,即约 960 MB。 - VmallocUsed: 已分配的
vmalloc
内存量。显示5828 kB
。 - VmallocChunk: 当前可用的最大
vmalloc
内存块。这里是0 kB
,表示没有足够连续的虚拟内存块可用。
特殊内存区域
- CmaTotal: 受 CMA(连续内存分配器)管理的内存总量。显示
2048 kB
,即 2 MB。 - CmaFree: 剩余的 CMA 管理的内存量。显示
0 kB
。
总结
- 物理内存:你的设备有
46 MB
的物理内存,使用情况较紧张。 - 内存可用性:
MemAvailable
显示还有12.7 MB
可以分配,但系统中的缓存和文件缓存部分可以回收。 - 交换分区:系统没有配置交换分区,因此没有额外的虚拟内存资源。