当前位置:首页 > 报告详情

分会场4_伊鹏翔 林琨力 王鑫_内存可观测:eBPF技术在Android系统内存剖析及调优实践_报告PPT.pdf

上传人: 科*** 编号:713381 2025-06-08 14页 863.35KB

1、内存可观测:eBPF技术在Android系统内存剖析及调优实践第三届 eBPF开发者大会w w w.e b p f t r a v e l.c o m中 国 西 安荣耀终端|OS Kernel Lab伊鹏翔 林琨力 王鑫作者介绍第三届 eBPF开发者大会w w w.e b p f t r a v e l.c o m中 国 西 安伊鹏翔:荣耀内核开发专家(内存方向),负责内存方案开发及演进,主要在内存及性能方面工作。林琨力:荣耀内核工程师,中科院博士,主导开发多个内存优化方案如:dmabuf压缩等方案。王鑫:荣耀内核工程师,负责内存性能优化工作。终端设备内存性能现状第 三 届 e B P F 开

2、 发 者 大 会内存管理基于事件触发,触发后决策清理/回收/转储等策略。而性能事件产生后,我们只能看到结果,无法评估策略的合理性。应用Android内核游戏APP社交APP影像APPlmkd感知层转储回收oom回收感知决策清理原生回收压缩回收文件回收自反馈killAOSP做了ebpf内存事件监听,lmkd响应事件kswapd问题:性能问题发生后只有内存事件,怎么性能调优?第 三 届 e B P F 开 发 者 大 会IO阻塞导致性能异常kswapd在回收内存,在怎么回收?lmkd在清理进程,清理耗时是多少,清理后的内存供给谁了?为什么一直清理?性能问题采集到离散内存数据第 三 届 e B P

3、F 开 发 者 大 会dumpsys meminfo/proc/meminfo/proc/vmstat在性能故障时,如何将离散的内存数据变成连续数据,优化内存管理策略?mmtrace主要工作第 三 届 e B P F 开 发 者 大 会mmtrace实现了低开销的内存资源实时采集方案并能关联性能故障,极大方便了定位内存供给/回收机制,系统低内存高IO等问题。【主要内容】在本次分享中,我们将重点介绍:1.通过eBPF等技术实现进程内存,整机内存,内存事件的抓取及聚合,单次采集小于1KB,大幅减少了采集量。2.如何实现与性能故障时序关联,可视化内存资源与性能关系。3.通过实际案例展示如何通过本项目

4、对内存回收策略优化,实现性能调优。【实践成效】1.事件触发,故障数据快速关联2.开销低,能部署到Android用户环境,实现规模商用mmtrace设计思路第 三 届 e B P F 开 发 者 大 会采集抓取呈现/分析mmtrace(ebpf)mmtrace(ebpf用户态订阅过滤)mmtrace(ko)ftraceringbuf用户性能问题hiviewPerfetto UI插件Perfetto网站性能分析性能日志log/trace/mem大数据分析第 三 届 e B P F 开 发 者 大 会mmtrace采集:低开销连续采集mmtrace(ebpf)mmtrace(ebpf用户态订阅过滤)

5、mmtrace(ko)内存tracepoint:mm_vmscan_direct_reclaim_beginmm_vmscan_direct_reclaim_endmm_vmscan_kswapd_wakekprobe&kretprobe:dma_heap_buffer_allockgsl_allocate_user_alloc_pages 等阈值(如:时间窗内超过x次、内存压力上报等)类型(如:vip线程、render线程、cameraprovider等)重点名单(如:systemui、launcher等)ko模块连续读取内核信息:系统状态/关键进程状态/memcg状态file/anon/d

6、mabuf/kgsl/mlock等读取时机:1.定时读取 2.ebpf触发 3.vendor_hook事件 4.主动触发监测事件:用户使用某应用,产生了多次direct_reclaim流量控制:应用的vip线程达到了x次direct_reclaim,往mmtrace写入事件信息采集:mmtrace采集预先设定内存信息,如果多次发生会采集多次,也有定时采集。示例:第 三 届 e B P F 开 发 者 大 会mmtrace抓取:用户性能事件触发mmtrace(ko)ftrace

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文介绍了eBPF技术在Android系统内存剖析及调优中的应用。通过mmtrace工具,实现了低开销的内存资源实时采集,并与性能故障关联。关键点如下: 1. eBPF技术用于抓取进程内存、整机内存和内存事件,采集量小于1KB,降低开销。 2. mmtrace可关联性能故障时序,可视化内存资源与性能关系。 3. 实践案例表明,mmtrace有助于优化内存回收策略,提升性能。 4. mmtrace设计思路包括采集、抓取、呈现/分析,通过多种方式触发监测事件。 5. mmtrace实践解决了内存过度回收和dmabuf异常占用导致的性能问题。 核心数据:单次采集小于1KB,实现了低开销连续采集,提升了性能开发人员的工作效率。
"eBPF如何优化Android内存?" "怎样用mmtrace发现性能问题?" "内存过度回收导致卡顿怎么解?"
客服
商务合作
小程序
服务号
折叠