首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Android OOM案例分析

图中OOM数量为各版本发版后第一个月的统计量,包含新发版本及历史版本。对比了同时期其他业务的情况,也有类似OOM。...OOM时内存已经几乎耗尽,再加载内存dump文件并分析会导致二次OOM,得不偿失。 模拟复现OOM 采集用户手机内存信息的方案不可行,那么只能采取复现用户场景的方式。...由于发生OOM时,用户操作路径的不确定性,无法精确复现线上的OOM,因此采取模拟复现的方式,最终发生OOM时的栈信息基本一致即可。...挖掘OOM特征 分析7.4以来的OOM,列出发生OOM的机器的特征,主要是内存和分辨率,适当考虑其它因素例如系统版本。 ? 这些特征可以总结为:内存一般,分辨率偏高,OOM的堆栈log基本一致。...其中,OPPO N1(T/W)上所发生的OOM比重较高,约为65%,因此选定这款机器作为复现OOM的机器。 关键数据(内存dump文件) 需要复现OOM然后获取内存dump。

1.3K40

OOM排查和处理

1、OOM异常:java.lang.OutOfMemoryError: Java heap space Xms10m代表堆初始化大小为10m; Xmx10m代表堆最大为10M; XX:+PrintGCDetails...MaxHeapSize;而-Xss等同于-XX:ThreadStackSize; 如果不配垃圾回收器,系统默认使用parallel scavenger和parallel old作为老年代垃圾回收器, 堆OOM...的原因: 1、分配的对象或者说需要的内存大于配置的内存,内存溢出 2、内存泄漏导致堆OOM 排查方案: 1、在本地环境可以使用jmap和jvm参数配置方式-xx:PrintGCDetails查看内存和...3、OOM异常:java.lang.OutOfMemoryError:unable to create new native thread 造成这个原因是因为线程数太多超过了限制,报了错。...5、OOM异常:java.lang.OutOfMemoryError: Metaspace 遇到metaspace的oom,在jdk1.8后,移除了永久代,换成了metaspace(元空间),首先得先说一句

59820

Thread也会OOM吗?

OOM其实是一个比较常见的异常了,但是不知道各位老哥有没有见过这个异常。...不可思议的OOM 在Android7.0及以上的华为手机(EmotionUI_5.0及以上)的手机产生OOM,这些手机的线程数限制都很小(应该是华为rom特意修改的limits),每个进程只允许最大同时开...而线上的使用情况很复杂,而且报错日志上的错误并不是oom的真实原因,而是压死骆驼的最后一根稻草。...这个其实很多文章都有介绍的,也算是一个常规的改点,我们把这个线程池替换了之后的确是对项目线程OOM问题有所下降。...那么协程的IO调用的其实也还好,并不会导致线程OOM问题。而且这个值其实也可以由开发去修正,也还是可以限制的。

99440
领券