关于mp_event_common接受的内存压力事件,是从内核而来,简单说下。
先来看下官方的介绍:
Historically, Android used in-kernel lowmemorykiller driver to handle memory pressure situations by killing non-essential proces...
阅读全文
Android P lmkd新增了许多机制和属性,包括引入原来内核的minfree算法等,看样子是越来越复杂了,下面来看看,内核版本4.9,高通平台。
how to kill先看下应该杀掉哪个process or 哪些processes(yes, 已经支持)?
主要改动是:
support kill heaviest process
support kil...
阅读全文
Android Go data分区启用了f2fs文件系统,从介绍看是为了提高life time和4K文件读写性能,这个暂不关心,三星init,看kernel提交记录后面主要是huawei也参与进来,据说是重金聘用,多少米?
前段时间项目在Go上遇到一个问题:data填满100%一直起不来(kernel: 3.18)。不过可以使用保留空间加一层保护, 重要系统...
阅读全文
最近遇到一个问题:重启压测十来天后出现大量手机不能启动, Android Go/MSM8909,有FWK同事发现空间满了,如下:
/dev/block/mmcblk0p39 5.2G 4.8G 340M 94% /data
原来是我们自定义的logd一直写满了data分区,删除后立即启动正常,为什么data满了会导致起不来,看了下Z的手机,...
阅读全文
最近在从msm_A/kernel3.18 port自定义mmc driver到msm_B/kernel4.9时,出现了kernel crash,log如下:
[ 18.739259] Unable to handle kernel paging request at virtual address ffffffc08b8c4f40[ ...
阅读全文
Android O开始默认使用了sdcardfs,弃用了好多年的fuse,原因就是sdcardfs比fuse性能更优,原生Android sdcardfs的由来:vfs > wrapfs(edu) > sdcardfs(Samsung) > sdcardfs(Google)。
sdcardfs有个问题:cp文件到SD卡(fat格式)再删除这...
阅读全文
Android Go的用户态lmk在探测内存压力时用到了memcg的如下内存使用统计:
#define MEMCG_MEMORY_USAGE "/dev/memcg/memory.usage_in_bytes"#define MEMCG_MEMORYSW_USAGE "/dev/memcg/memory.memsw.usage_...
阅读全文
Android Go是a feature of Android O MR1(8.1),它已经不再使用in kernel lowmemorykiller了,取而代之的是user space的基于memory pressure的killer。
这个user space的代码就是system/core/lmkd/lmkd.c,它是如何...
阅读全文
死机分析以前在R平台搞过,基本就是抓到死机时的CPU register等信息,然后用objdump反汇编出来结合源码定位分析,现在到了手机平台,多了个Tracer32,高通分析死机都在用,现在死机都挂我这了,老问高通也不是个事重拾下,我觉得可以不用trace32,基本还是那老一套。
先来看死机现场:
[ 1256.852648] Unable to hand...
阅读全文
前方用户提了个故障说手机发热低电下重启后发现有SD掉卡提示,Android_N/Kernel_3.18,离线日志找了半天,logcat日志里发现:
434 439 E vold : Failed to pclose /system/bin/sgdisk --android-dump /dev/block/vold/disk:179:64 ...
阅读全文
上一页 1 … 8 9 10 11 12 … 14 下一页