Customer客诉 #2901
APK导致--- Kernel Used RAM容量是持续增加,内存有消失为0的现象
由 PM 洪丰 在 8 个月 之前添加. 更新于 4 个月 之前.
100%
洪丰
2片 1次/片
不能出现可用内存消失为零的情况。
描述
原始邮件
洪总,
之前发过下面的邮件内容
客户把产品寄过来了 (单号SF1529150151119洪总) ,请评估RAM 相关内容。
DDR RAM 的冷焊, DDR RAM 本身的不良 等等先确认后告知内容(18号之前)
DDR RAM 本身没问题的话, 请确认附件的LOG 并分析。
LOG中 ipos_apexa-aw1560_meminfo.txt 的内容看的话, Used RAM端 Kernel 容量是持续增加的,
ipos_apexa-aw1560_memory_dump.txt LOG的 末端看的话,内存有消失的现象。
这个是很重要的终端,请尽快分析情况。
谢谢。
Suny Sun Account Manager________
文件
iPos_apexa-aw1560_memory_dump.txt (14.4 KB) iPos_apexa-aw1560_memory_dump.txt | 3次数据,看到Ram 的容量被耗尽 | PM 洪丰, 2024-03-29 14:39 | 删除 |
posbank_meminfo(normal).txt (5.64 KB) posbank_meminfo(normal).txt | 在正常样品中,使用的RAM尺寸稳定在300M左右。 | PM 洪丰, 2024-03-29 14:39 | 删除 |
iPos_apexa-aw1560_install_packages.txt (9.21 KB) iPos_apexa-aw1560_install_packages.txt | 系统已安装的APP | PM 洪丰, 2024-03-29 14:39 | 删除 |
iPos_apexa-aw1560_meminfo.txt (110 KB) iPos_apexa-aw1560_meminfo.txt | 3000多行,可以看到User Ram 的容量在增加的趋势。但是看不着Ram 的容量被耗尽 | PM 洪丰, 2024-03-29 14:39 | 删除 |
ipos_apexa-aw1560_logcat_20240102.txt (1 MB) ipos_apexa-aw1560_logcat_20240102.txt | PM 洪丰, 2024-03-29 14:39 | 删除 | |
ipos_apexa-aw1560_logcat_20240103.txt (780 KB) ipos_apexa-aw1560_logcat_20240103.txt | PM 洪丰, 2024-03-29 14:39 | 删除 | |
RB-A3288FSL_Memory_Exception_2nd_Analysis_Progress-20240513.pdf (354 KB) RB-A3288FSL_Memory_Exception_2nd_Analysis_Progress-20240513.pdf | 供应商FAE Guest, 2024-07-25 15:49 | 删除 |
子任务
相关的问题
由 PM 洪丰 更新于 8 个月 之前
- 文件 IPOS_memory_issue.zip 已添加
这个问题,龙江, 凌周,
来主导跟进吧:
我理解的3个关键点。
1 现象汇总
客户终端:“随着内存使用量的急速上升,android服务开始重新启动。一旦重启,就会无限反复。”
客户:“验证了10天才出现。”,1/4 已提供log。
2 软件分析
DDR RAM 的冷焊, DDR RAM 本身的不良 等等先确认后告知内容(18号之前)
DDR RAM 本身没问题的话, 请确认附件的LOG 并分析。
LOG中 ipos_apexa-aw1560_meminfo.txt 的内容看的话, Used RAM端 Kernel 容量是持续增加的,
ipos_apexa-aw1560_memory_dump.txt LOG的 末端看的话,内存有消失的现象。
3 洪丰,凌周负责。
DDR RAM 的冷焊, DDR RAM 本身的不良 等等先确认后告知内容(18号之前)
(RK3288, 只支持7.1,所以不要用8.1去验证。)这是已知情况。
Jim / 洪丰
PM / 项目经理
由 PM 洪丰 更新于 8 个月 之前
meminfo.txt 的内容,
分析 “Used RAM端 Kernel 容量是持续增加的” , 但以下的数据
内存都是维持在大概三四百M左右,是安全的。
Used RAM: 328,877K ( 82,373K used pss + 246,504K kernel)
原始数据:
304 行 Used RAM: 416,271K ( 93,251K used pss + 323,020K kernel)
630 行 Used RAM: 398,408K ( 84,284K used pss + 314,124K kernel)
753 行 Used RAM: 265,355K ( 81,771K used pss + 183,584K kernel)
876 行 Used RAM: 266,485K ( 82,153K used pss + 184,332K kernel)
998 行 Used RAM: 266,359K ( 82,055K used pss + 184,304K kernel)
1119行 Used RAM: 269,140K ( 81,712K used pss + 187,428K kernel)
1240行 Used RAM: 271,333K ( 81,713K used pss + 189,620K kernel)
1361行 Used RAM: 275,445K ( 81,589K used pss + 193,856K kernel)
1602行 Used RAM: 283,513K ( 81,617K used pss + 201,896K kernel)
2972行 Used RAM: 328,877K ( 82,373K used pss + 246,504K kernel)
常用概念
1. Total RAM: 表示系统总内存大小为2,047,540K,即大约2GB。
2. Free RAM: 当前可用的内存为655,148K。这个“自由”内存包含了未被程序使用的物理内存以及缓存的数据:
•0K是PSS(Proportional Set Size)缓存占用;
•534,332K是内核缓存占用;
•120,816K是完全空闲的内存空间。
3. Used RAM: 已使用的内存总计为416,271K,其中:•PSS实际使用量为93,251K;•内核自身使用量为323,020K。
4. Lost RAM: 指的是由于硬件限制或其他原因而无法被系统利用的内存,此处为968,961K。
5. ZRAM: ZRAM是一种压缩内存技术,它将部分内存用作虚拟交换分区,以节省物理内存资源。这里显示有7,160K物理内存用于存放压缩后的交换数据,总共提供了18,868K的虚拟交换空间,总交换空间大小为520,908K。
6. Tuning: 这部分信息涉及到内存调优参数和内存管理设置,
如:
•"192 (large 512)" 可能是指内存页大小相关的配置;
•"oom" 可能指的是Out-Of-Memory杀手机制,当系统内存紧张时允许杀死占用内存过多的进程的阈值为184,320K;
•"restore limit" 设置了一个恢复限制值为61,440K,这可能与图形界面相关的内存恢复策略有关,并标记为"(high-end-gfx)",意味着这是一个针对高性能图形处理的优化设置。
总结来说,这是关于系统当前内存状态的一个详细报告,包括了物理内存总量、使用情况、未使用情况、不可用情况、ZRAM的使用状况以及一些内存管理相关参数的设定详情。
由 PM 洪丰 更新于 8 个月 之前
这个apk可以在网上下载。
看起来,客户尝试过最新的 iPOS Order Control v1.3.1版本
https://play.google.com/store/apps/details?id=com.ipos.controllerorder&hl=zh&pli=1
由 PM 洪丰 更新于 8 个月 之前
Hi,Suny,
1
DDR RAM 的冷焊, DDR RAM 本身的不良 等等先确认后告知内容(18号之前)
我们进行了测试和老化,主板DDR没有出现不稳定的情况。参看报告。
2
分析 “Used RAM端 Kernel 容量是持续增加的”
可以看到 Used RAM: 328,877K ( 82,373K used pss + 246,504K kernel)
数据从
753 行 183,584K kernel ,增加到了
1290行 246,504K kernel
这种情况,预计可能是iPOS Order Control APK的内存泄漏造成的。
下一步,我司
监控内存,分析下这个APK
APK是Android应用程序的安装包文件,它包含了应用程序的代码、资源文件和其他必要的组件。
当APK的内存使用量持续增加时,可能会导致应用程序的性能下降或崩溃。以下是一些可能的解决方法:
内存泄漏:检查应用程序中是否存在内存泄漏问题。内存泄漏是指应用程序在不再需要使用某些内存时没有正确释放它们,导致内存占用不断增加。可以使用内存分析工具(如Android Profiler)来检测和解决内存泄漏问题。
资源管理:确保应用程序正确管理和释放资源。例如,关闭不再使用的数据库连接、释放图片资源等。不正确的资源管理可能导致内存占用不断增加。
优化代码:检查应用程序的代码,寻找可能导致内存增加的问题。例如,避免创建过多的临时对象、减少不必要的对象引用等。优化代码可以减少内存占用并提高应用程序的性能。
使用缓存:对于一些频繁使用的数据,可以考虑使用缓存来减少内存占用。缓存可以将数据保存在内存中,避免频繁地从磁盘或网络加载数据。
限制后台进程:如果应用程序在后台运行时仍然持续消耗内存,可以考虑限制后台进程的资源使用。可以使用Android的后台服务和广播机制来管理后台进程的行为。
由 PM 洪丰 更新于 8 个月 之前
- 文件 iPos_apexa-aw1560_meminfo.txt iPos_apexa-aw1560_meminfo.txt 已添加
- 文件 iPos_apexa-aw1560_memory_dump.txt iPos_apexa-aw1560_memory_dump.txt 已添加
- 文件 posbank_meminfo(normal).txt posbank_meminfo(normal).txt 已添加
- 文件 iPos_apexa-aw1560_install_packages.txt iPos_apexa-aw1560_install_packages.txt 已添加
- 文件 ipos_apexa-aw1560_logcat_20240102.txt ipos_apexa-aw1560_logcat_20240102.txt 已添加
- 文件 ipos_apexa-aw1560_logcat_20240103.txt ipos_apexa-aw1560_logcat_20240103.txt 已添加
由 供应商FAE Guest 更新于 4 个月 之前
- 文件 RB-A3288FSL_Memory_Exception_2nd_Analysis_Progress-20240513.pdf RB-A3288FSL_Memory_Exception_2nd_Analysis_Progress-20240513.pdf 已添加
- 状态 从 OPEN 变更为 Closed
- % 完成 从 20 变更为 100
- 概率 被设置为 2片 1次/片
- 测试SOP和PASS的标准 已更新。 (diff)
参考这份最终的分析报告。