低内存引起的死机和冻机的分析

Android系统冻屏、黑屏问题的分析思路 是新加的方法,需要在Layer也加上相应的实现,如下。》可以指导,应用的图形内容要经过SurfaceFlinger才能传递到显示设备,SurfaceFlinger每隔一定时间(间隔由帧率决定)会向屏幕传递图形数据,但是并不是每个应用的图形都会显示,只有最前面应用的画面才能显示,应用的图形数据一般保存在图层中,因此每次刷新都会收集可见的图层。在Android系统开发过程中,偶尔会遇到显示异常的问题,如画面不再刷新,也就是冻屏,或者屏幕变黑,如果对图形显示系统不熟悉,遇到此类问题还是比较棘手的。 阅读详情

Kernel处于LMK频繁select进程去杀、但又找不到可以杀的进程的状态中,因某个最合适的进程已被发送SIGKILL。

在遍历所有进程的时候,遍历到倒数第二个进程的时候没有问题,在遍历最后一个进程的时候,如下代码:

		if (test_tsk_thread_flag(p, TIF_MEMDIE) &&
		    time_before_eq(jiffies, lowmem_deathpending_timeout)) {
			task_unlock(p);
			rcu_read_unlock();
			return 0;
		}
该这个进程的SIGKILL信号还没处理完.

查看当前的task信息

((struct task_struct)*0xC2262D80).pending.signal = (0x0100, 0x0 
pending signal是SIGKILL

查看他的栈,处于ptrace_stop的状态中,因其tombstone需要debuggerd dump该进程堆栈

在debuggerd接管某task的时候,所有信号都会被ptrace截获,所以当给该task发送SIGKILL的时候,不会被该task处理。


去掉debuggerd进行复测,故障不复现。


机器配置:512ram+7x27a+android4.1

Android的内存分配、管理、OOM这一篇文章就够够的了! Android的内存分配和管理为两个大板块: (Android手机系统和手机应用APP) 一、Android 手机系统的内存分配和管理 主要3点内容介绍 -Android 系统的低内存工作机制: -Android 应用内存的使用情况: -如何减少Android 应用内存的占用: 1、Android 系统的低内存工作机制: 首先给大家提出一个问题,为什么有的手机打开应用多了,在使用的时候回特别卡呢。... 阅读详情

相关推荐

[Android Framework] 系统 ANR (死机冻屏)问题排查实践小结

本文记录了工作中遇到的Andorid 系统层级 ANR 的问题排查及解决思路。 具体问题:在 VR一体机设备中遇到了第三方应用在视频播放时 当高标清切换时 出现了*死机冻屏* 的问题。

小羊子的技术专栏 1840

LMK低内存管理机制

1 low memory killer Android的lowmemory killer是基于linux的OOM(out ofmemory)规则改进而来的。OOM通过一些比较复杂的评分机制,对运行进程进行打分,然后将分数高的进程判定为bad进程,杀死进程并释放内存。OOM只有当系统内存不足的时候才会启动检查,而lowmemory killer则不仅是在应用程序分配内存发现内存不足时启动检查,它也

zhouzhengting1的专栏 1万+

深挖Android WatchDog:别让你的系统“无人看管”,手把手带你从源码到车机实战

Android WatchDog机制深度解析:从源码到车机实战 摘要:本文深入剖析Android系统核心组件WatchDog的工作原理,基于Android 14源码揭示其监控SystemServer关键线程的"30秒死亡倒计时"机制。文章首先阐述WatchDog在车机开发中的重要性,通过源码分析其单例模式实现和Checker监控机制,详细解释其"To-Do List检测法"的工作流程。同时提供实战调试方法,包括日志抓取和AI辅助分析技巧,并分享车机开发中遇到的典型故障

小羊子的技术专栏 149

android LMK 工作机制

Android分析之LowMemoryKiller Android Kernel 会定时执行一次检查,杀死一些进程,释放掉内存。     那么,如何来判断,那些进程是需要杀死的呢?答案就是我们的标题:Low memory killer机制。

anjen的专栏 4608

手机加密后,OTA升级过程中冻屏分析报告

ota升级,android系统优化界面卡死

deepfacelab下载安装及训练(小白篇),以及导出SAEHD为dfm文件,解决broken pipe问题

其中如果用的是RTX30系列显卡的话,需要把WIN10升级到20H4或更新版本,然后打开硬件加速,不然会出现训练时一直卡在第一个迭代不动了,我的服务器版本为22H2,符合。支持WIN10,win11,WIN7,LINUX,不支持mac(因为mac不支持NVIDIA显卡)

caoyongsheng的博客 3905

Android hibernation 导致的冻屏问题分析

虽然问题解决了,但是客户非常好奇为什么同样的机器,不同的运营商复现概率差别如此大,其他两家运营商基本没有上报这个问题,这还需进一步调查。

ztisen的博客 1592

[统计模型] 基于R的潜在剖面分析(LPA)

本文主要介绍基于R进行潜在剖面分析(Latent Profile Aanalysis, LPA)。 关于潜在类别分析LCA/潜在剖面分析LPA的概念和区别,可以参考一下这篇文章: 潜在类别分析LCA \潜在剖面分析LPA介绍https://www.jianshu.com/p/4c830094131e?utm_campaign=maleskine 但是此文对潜类别分析的阐释还比较生涩,而且没有具体的代码编写、模型优选等内容。本文旨在丰富LPA的内容,并希望和大家交流、共同进步。 1. 什么是潜类别分.

bigstar863的博客 1万+

【故障案例】CPU低温重启问题的定位和解决

​ 某产品研发阶段在做四角实验的过程中,发现单板在低温下出现反复重启动的问题,经过反复的实验和定位,发现是该电源DC-DC芯片使用的液态电解电容,在低温下,内部液体固化。导致电容ESR降低,进而使DC-DC输出的纹波变大,出现单板反复重启动的问题。

weixin_43381663的博客 2356

从零完成 STM32 + ESP-01S + 云服务器 TCP 通信测试

STM32 通过 USART3 控制 ESP-01S 接入手机 2.4 GHz 热点,随后连接公网云服务器 8.152.204.86:9002。云端在同一 TCP 连接中连续收到 seq=1~6 的测试报文,5 个发送间隔平均约 5.4 秒,说明本次 TCP 上行链路已经打通。

weixin_51387720的博客 314

别再死磕公式了!用Python+NumPy手把手实现机器人逆运动学数值求解(附避坑指南)

本文详细介绍了如何使用Python和NumPy实现机器人逆运动学(Inverse Kinematics, IK)的数值求解方法,包括牛顿-拉弗森法、雅可比矩阵计算及奇异位形处理。通过实战代码和避坑指南,帮助开发者快速掌握现代机器人学中的核心算法,提升工程实践能力。

weixin_30687051的博客 128

APP测试点总结(功能,交互,死机崩溃状态分析,容易出错的检查点)

最近涉足APP端测试,常见检查点总结如下: 一.业务方面: 1. 注册(无效数据剔除),登录(语音和短信验证码),第三方登录(微信,微博,qq),忘记密码处理,注册 (登录后身份判断校验);账号互踢(同一时间一个账号只能在一台设备上登录) 2.tab切换,滑动,标题显示 3.项目列表显示:上下滑动加载(是不是会重复加载数据);显示的条数是否正确;格式,标签是否正确; 消...

weixin_30566149的博客 475

R语言绘制森林图

运行上述代码后,将会生成一个标题为"森林图示例"的森林图。通过以上代码示例,你可以根据自己的数据集和需求创建定制的森林图。在实际应用中,你还可以进一步调整图形的样式,添加图例、坐标轴标签等,以使森林图更加美观和易于理解。在数据可视化领域,森林图是一种常用的图形类型,用于展示多个分类变量之间的关系。本文将介绍如何使用R语言创建森林图,并提供相应的源代码示例。森林图通常由垂直的线段表示不同类别的观测值,并且线段的长度表示数值变量的大小。上述代码中,我们为不同的类别分别指定了蓝色和红色作为颜色映射关系。

TechNovaX的博客 1045

不懂验机怎么买二手手机?这份平台避坑指南请收好

售后标配7天无理由退货及365天整机质保,累计用户9000万,好评率97.5%,适配不懂验机、零基础的普通消费者。货源多为品牌展示机、电商7天无理由退换机等,渠道相对稳定。1.完全不懂验机、用来长期当主力机(学生 / 长辈自用):优先选择找靓机,平台前置完成全套深度质检,用标准化品控替代个人验机,全年质保兜底,最大程度规避扩容、翻新、锁机三大暗雷;因其纯B2C自营模式切断了个人卖家的风险源,平台承担全链路质检与售后责任,提供392项检测数据与365天质保,无需买家自行甄别暗病,容错率与透明度在业内较高。

2201_75994616的博客 1

python中使用squarify包可视化treemap图:为treemap图添加标题并自定义标题的字体大小、自定义设置treemap中标签字体的大小、添加数值数值标签、自定义设置边框的色彩

python中使用squarify包可视化treemap图:treemap将分层数据显示为一组嵌套矩形自定义设置每一个数据格的颜色、添加数值数值标签、自定义设置边框的色彩、自定义设置边框线条的粗细、为treemap图添加标题并自定义标题的字体大小、自定义设置treemap中标签字体的大小

data+scenario+science+insight 1064

企业数字化转型解决方案架构设计:一个五维全景视角

本文系统探讨了企业数字化转型的架构设计框架,提出五维协同模型:企业架构作为战略罗盘,业务架构聚焦价值创造,应用架构实现能力载体,数据架构提供智能燃料,技术架构奠定基础支撑。文章深入分析了各架构域的核心要素、设计原则及相互关系,并指出数字化转型需通过渐进路径,结合战略引领、技术赋能和组织变革,构建有机统一的架构体系。该框架为企业应对数字化复杂性提供了系统性方法论,强调从整体视角实现技术与业务的深度融合。

金牌架构师 1256

1009待办事项

2,将原子修改和低内存修改合入到一个版本上,跑一下wifi-wifi,看是否还会死机。跑一下usb-wifi等4个场景,看一下极值速率是否有影响。3,拿出来的3台手机,要注意overlay, 5G的修改是否合入。1,原子操作修改后,拿出来2台E5,1台修改的,一台未修改的。3,将magic5手机日志提供给刘琛看,是否还需要重抓。4,抓zhangyingxing的80,160日志。

windofchange_的专栏 154

挂载(Mount)是什么意思

挂载 = 把一个存储设备或文件系统“接入”到现有的目录树,使其内容能够被访问。

天赐好车的博客 289

Android 常用Log日志分析

代表:手机cache 内存为718372kb,低于oom_adj 900这个级别的最低值765000kB,所以lmkd会查杀pid为9307的com.quark.browser进程,该进程当前的adj为905(高于900),释放了69048kb。代表:am_low_memory 后面的数字代表当前系统中lru 中进程的数量,数字递减代表有进程被杀,has died 代表非AMS查杀(lmk查杀或信号查杀),hvy HVY代表进程的优先级(进程自查一览表)主要使用的是 5,483,142K。

Jimmy的专栏 1704

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Linux内核调试与性能优化实战指南

Linux内核调试与性能优化是系统级开发的核心技能,涉及从底层硬件到上层应用的协同工作。通过ftrace、crash工具和perf火焰图等调试技术,开发者可以深入分析内核行为,定位死机、冻屏等疑难问题。性能优化则聚焦调度器调优、内存压缩和I/O栈改造等关键领域,确保系统稳定高效运行。在移动设备如智能手机场景中,这些技术尤为重要,直接影响用户体验。本文结合vivo等厂商的实战案例,详解如何通过定制化内核参数和监控系统提升帧率稳定性,为工程师提供系统级问题排查与优化的完整方法论。

weixin_42433737的博客 504

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

数mysql据分析优化_MySQL优化案例分析

同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机 或者时不时的服务器卡一下 这个问题曾经困扰了我半个多月MySQL使用是很具伸缩性的算法,因此你通常能用很少的内存运行或给MySQL更多的被存以得到更好的性能。安装好mysql后,配制文件应该在/usr/local/mysql/share/mysql目录中,配制文件有几个,有my-huge.cnf my-medium....

weixin_42298646的博客 76

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Android-高质量开发之崩溃优化(1)

我们可以在应用启动的时候设定一个标志,在主动自杀或崩溃后更新标志,这样下次启动时通过检测这个标志就能确认运行期间是否发生过异常退出。对应上面的五种退出场景,我们排除掉主动自杀和崩溃(崩溃会单独的统计)这两种场景,希望可以监控到剩下三种的异常退出,理论上这个异常捕获机制是可以达到 100% 覆盖的。通过这个异常退出的检测,可以反映如 ANR、low memory killer、系统强杀、死机、断电等其他无法正常捕获到的问题。当然异常率会存在一些误报,比如用户从系统的任务管理器中划掉应用。对于线上的大数据来说,

2401_84132544的博客 1111

分析并优化 Android 应用内存

今日科技快讯1月15日,据CNET报道,在美国联邦贸易委员会(FTC)周一对高通提起的反垄断诉讼中,苹果公司首席运营官杰夫·威廉姆斯(Jeff Williams)证实,苹...

郭霖 1407

分析并优化 Android 应用内存占用

官方视频翻译,如需转载,请注明作者:Yuloran (t.cn/EGU6c76) 演讲人介绍 Rechard Uhler,Android Runtime 开发工程师。为便于写作,笔者将以第一人称视角对视频内容进行概述。 视频地址 前言 想要进行内存优化,就必须对 Android 内存管理机制有比较深入的了解,这样才能保证应用在低端机上也能有良好的表现。不同的内存类型,包括 Shared Me...

weixin_34242658的博客 2306

Android 对APP内存管理分析

在Android系统的智能机中,应用APP是通过"寄存器“方式启动在系统上的,由于手机制造商为Android手机提供的RAM有限,目前正常情况 的RAM 是2G,以前的是1G,甚至还有几百M的RAM。所以,手机对每个APP分配的内存也是有限的,Android 对APP内存管理分析如下:        1、先分析系统对APP的分配原理:             Android主要应用在嵌入式设备

zyxNobita专栏 1004
上一篇: 内存泄漏调试-调Native Heap
下一篇: 利用shc加密生成可以在手机里执行的程序
AKeywordSE
博客等级 码龄12年 1粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值