资料
  • 资料
  • 专题
Android内核驱动—内存管理
推荐星级:
类别: 消费电子
时间:2020-01-09
大小:556.31KB
阅读数:164
上传用户:rdg1993
查看他发布的资源
下载次数
0
所需E币
3
ebi
新用户注册即送 300 E币
更多E币赚取方法,请查看
close
资料介绍
Android内核驱动—内存管理第十四章 Android 内核驱动――内存管理 14.1 Low Memory Killer 基本原理 Android 的 Low Memory Killer 是在标准 linux kernel 的 OOM 基础上修改而来的一种内存管理 机制, 当系统内存不足时, 杀死 Bad 进程释放其内存。 Bad 进程的选择标准有两个: oom_adj 和占用内存的大小。 oom_adj 代表进程的优先级, 数值越大, 优先级越高, 对应每个 oom_adj 都有一个空闲内存的阈值。Android Kernel 每隔一段时间会检查当前空闲内存是否低于某个 阈值, 如果是, 则杀死 oom_adj 最大的 Bad 进程, 如果有两个以上 Bad 进程 oom_adj 相同, 则杀死其中占用内存最多的进程。 Low Memory Killer 与 OOM 的区别 OOM 即 Out of Memory 是标准 linux Kernel 的一种内存管理机制,Low Memory Killer 在它基 础上作了改进: OOM 基于多个标准给每个进程打分,分最高的进程将被杀死;Low Memory Killer 则用 oom_adj 和占用内存的大小来选择 Bad 进程 OOM 在内存分配不足时调用,而 Low Memory Killer 每隔一段时间就会检查,一旦发现 空闲内存低于某个阈值,则杀死 Bad 进程。 Low Memory Killer 的实现 Low Memory Killer 的源代码在 drivers/staging/android/lowmemorykiller.c 中,它是通过注册 Cache Shrinker 来实现的。Cache Shrinker 是标准 linux kernel 回收内存页面的一种机制,它由 内核线程 kswapd 监控,当空闲内存页面不足……
版权说明:本资料由用户提供并上传,仅用于学习交流;若内容存在侵权,请进行举报,或 联系我们 删除。
PARTNER CONTENT
相关评论 (下载后评价送E币 我要评论)
没有更多评论了
  • 可能感兴趣
  • 关注本资料的网友还下载了
  • 技术白皮书