内存管理十 MTK平台内存RAM大小拆解

本文详细解析了MTK平台2G RAM设备的内存管理,包括通过ADB命令获取内存信息,分析了reserve内存和meminfo内存的详细构成。在内存拆解中,提到了kernel使用内存的计算方式,并在遇到内存问题时,如何解读kernel log以理解内存状态。此外,还讨论了内存页面类型的特殊性,这些因素可能导致内存分配失败。
摘要由CSDN通过智能技术生成

一、拆解:

  本文以MTK平台2G RAM的设备为例,对RAM进行详细的拆解,对于2G的手机在设置->存储中,

会看到总内存的大小为2G,这里的2G也可以通过ADB命令来获取到:

(1)获取meminfo: cat /proc/meminfo

  MemTotal:        1860024 kB   

(2)获取reserve的内存:cat /proc/mtk_memcfg/total_reserve

  237128 kB

上面两项的和: 1860024 kB   + 237128 kB = 2097152kB = 2GB

 

二、reserve内存详细:

  mtk reserve的内存大小,可以通过cat /proc/mtk_memcfg/目录下对应的节点来获取到,对应的代码在:

./kernel-4.9/drivers/misc/mediatek/mem/mtk_memcfg_reserve_info.c文件中,查看所有reserve的memory大小:

cat /proc/mtk_memcfg/total_reserve
237128 kB

查看reserve内存的详细:

# cat /proc/mtk_memcfg/reserve_memory    (单位Byte)
*mblock-13-ccci: 69206016   //modem射频模块使用
ram_console-reserved-memory@47c80000: 65536  //用于保存ram_console临时log使用
pstore-reserved-memory@47c90000: 917504
minirdump-reserved-memory@47d70000: 65536
*mblock-4-atf-reserved: 262144
*mblock-7-atf-log-reserved: 262144
*mblock-6-teei-reserved: 62914560
*mblock-10-SPM-reserved: 65536
*mblock-14-ccci: 23068672
*mblock-12-ccci: 1507328
*mblock-8-framebuffer: 15466496
*mblock-5-SSPM-reserved: 1048576
mblock-3-log_store: 524288
*mblock-1-dramc-rk0: 4096
*reserve-memory-scp_share: 3670016
*soter-shared-mem: 5242880
*reserve-memory-sspm_share: 5308416
*mblock-11-SCP-reserved: 6291456
*consys-reserve-memory: 4194304
*wifi-reserve-memory: 3145728
*mblock-9-atf-ramdump-memory: 524288
*mblock-2-dramc-rk1: 4096
kernel(text): 12582912    //包含了编译后生成的代码
kernel(data): 9304788     //保存大部分内核的变量
kernel(page): 4259840     //用于page保存struct page对象数组等
kernel(other): 12911916

三、meminfo内存详细:

1、meminfo信息:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值