hotaru555 / proj16-memory-tracker

分析Android等其他Linux嵌入式系统内存使用情况,以便于进行内存优化。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

proj16-memory-tracker

项目名称

Android内存管理补丁包.md

项目描述

  • 此项目的目的在于帮助分析Android系统(其他Linux嵌入式系统也适用)内存使用情况,以便于进行内存优化。

  • 基本功能为基于Linux实现内存分配跟踪,申请内存空间接口可选传入一个字符串参数例如“.../code.c L100”;默认记录进程号、名称、申请时间、大小。

  • 可配置只跟踪指定进程号或者进程名通配符、内存大小。

  • 能自动识别大量重复申请内存不释放的情况,能自动识别同一个进程大量申请小片内存的情况,能自动识别申请大块内存但是使用率很小的情况。

  • 呈现方式可以是txt、html等。

  • 方案导入后,不能对整体os性能有较大影响,基本操作要能顺畅执行,方案本身不能有内存泄露,可预先申请指定大小内存。

  • 项目可以基于源码:https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/

所属赛道

2021全国大学生操作系统比赛的“OS功能设计”赛道

参赛要求

  • 以小组为单位参赛,最多三人一个小组,且小组成员是来自同一所高校的本科生(2021年春季学期或之后本科毕业的大一~大四的学生)
  • 如学生参加了多个项目,参赛学生选择一个自己参加的项目参与评奖
  • 请遵循“2021全国大学生操作系统比赛”的章程和技术方案要求

项目导师

何卫华

难度

中等

特征

  • 对类似Linux操作系统有很好支持

  • 适用于所有Android平台项目

文档

平台实现注意事项

  • 相关代码需要符合Linux开源协议

  • 相关代码主要用于调试分析,可以不合入商用版本

  • 能独立出来的功能要独立为内核模块

License

  • Android AOSP license

  • Linux GNU General Public License

预期目标

注意:下面的内容是建议内容,不要求必须全部完成。选择本项目的同学也可与导师联系,提出自己的新想法,如导师认可,可加入预期目标

  • 方案要能方便的合入到Android项目

  • 统计跟踪的内存使用情况要与进场实际的使用情况一致

  • 可以查询指定进程的内存使用情况,能跟踪到内存申请的代码源文件行

  • 能自动识别大量重复申请内存不释放的情况

  • 能自动识别同一个进程大量申请小片内存的情况

  • 能自动识别申请大块内存但是使用率很小的情况

About

分析Android等其他Linux嵌入式系统内存使用情况,以便于进行内存优化。