推荐文章 New Blog
进程退出时,内存回收流程
在android优化中,有一个是技术是ZRAM,ZRAM是基于swap技术的,前几天同事问了个问题,linux内核中通过kswapd或是直接reclaim一个进程到zram中,如果这个进程被杀,那这个进程对应在ZRAM中的内存会不会先解压然后在free,这个问题以前只是知道不会解压的,具体的流程不是很清楚,用了两天时间搞了明白,现在先上图: 进程退出最终调用的是do_exit函数,然后通过一层层vma,pud,pmd,pte找到所有的page,对应page如果是在swap中的,通过swap_slot_free_notify回调调用swap设备中的notify方法,直接释放swap中的页,如果不是在swap中最终通过调用free_pages_and_swap_cache释放到buddy系统中,这里如果是0阶页通过free_hot_cold_p...July 29, 2017, 8:27 a.m.作者:zachary分类:Linux相关阅读(2393)评论(0)