Linux内存从0到1学习笔记(9.6,内存优化调试之page_owner拆解)
Posted 高桐@BILL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux内存从0到1学习笔记(9.6,内存优化调试之page_owner拆解)相关的知识,希望对你有一定的参考价值。
写在前面
前面我们梳理过,page owner用于跟踪每个页面的分配细节。如上图,当有内存被分配时,内存分配调用栈、进程ID、分配时间、掩码信息等都会被记录下来。
因此我们可以通过分析这些信息来了解运行时情况下的内存布局;
但是,page_owner信息很多,有些时候抓出来的信息有几百兆,如果我们每个调用栈都去看一遍,效率太低,因此需要借助一些工具对数据进行解析。
一、page_owner_sort
排序命令如下:
page_owner_sort page_owner.txt sorted_page_owner.txt
排序后的调用栈信息如下:
42051 times:表示相同的调用栈信息共分配了42051次。
order:表示当前所分配内存页的阶,0阶表示页大小4Kb;
GFP_HIGHUSER_MOVABLE:分配掩码
pid:任务ID(线程);
二、解析
可通过关键内存分配函数进行拆
以上是关于Linux内存从0到1学习笔记(9.6,内存优化调试之page_owner拆解)的主要内容,如果未能解决你的问题,请参考以下文章
Linux内存从0到1学习笔记(九,内存优化调试之三 - 内存拆解)--- 持续更新
Linux内存从0到1学习笔记(九,内存优化调试之一 - kswapd0)
Linux内存从0到1学习笔记(九,内存优化调试之三 - 使用page owner调试内存黑洞)
Linux内存从0到1学习笔记(9.5,内存优化调试之记录pid到page_owner)