android meminfo,Android中dumpsys meminfo与/proc/meminfo获取空闲内存不一致的问题

本文探讨了在Android系统中,通过`dumpsys meminfo`和`cat /proc/meminfo`两种方式获取空闲内存时存在的差异。分析表明,`dumpsys meminfo`的计算方式包括缓存和内核缓存,而`/proc/meminfo`的`MemFree`仅包含基本的空闲内存。Android系统自带的内存管理器与`dumpsys meminfo`显示一致,这源于Linux系统倾向于利用缓存和缓冲提高效率。因此,空闲内存应考虑缓存和缓冲的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、需求

获取当前系统中应用可用的空闲内存。

二、遇到的问题

方法一:dumpsys meminfo

Total RAM: 3,498,412K (status normal)

Free RAM: 1,420,845K ( 554,397K cached pss + 729,900K cached kernel + 136,548K free)

Used RAM: 2,125,902K (1,741,086K used pss + 384,816K kernel)

Lost RAM: 268,850K

Tuning: 256 (large 512), oom 325,000K, restore limit 108,333K (high-end-gfx)

可知通过此方法获取的free mem大约为1.4G。

方法二:cat /proc/meminfo

MemTotal: 3498412 kB

MemFree: 136596 kB

MemAvailable: 1500252 kB

Buffers: 150052 kB

Cached: 1313300 kB

SwapCached: 89844 kB

Active: 1218484 kB

Inactive: 1171716 kB

Active(anon): 472168 kB

....

可知通过此方法获取的free mem大约为0.13G。

发现通过这两个方法获取的free mem相差非常的大,使用android手机自带的内存管理器查看,结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值