SurfaceFlinger文件句柄泄露,触发Too many open files,在执行monkey测试时导致应用crash
- 确认进程最大文件数限制
- adb shell进入命令行
- ps -A | grep xxx确认进程pid
- cd /proc/proc_pid/
- cat limits查看max open files限制,一般应用都是1024,surfaceflinger是2048
- 查看出问题前进程fd详情
- cd /proc/proc_pid/fd
- ls -l查看对应的fd占用
- 执行复现问题对应操作,然后再ls看一下哪些fd增长异常
本次问题发现surfaceflinger的sync_fence fd明显增长异常,需要进一步确认sync_fence增长的原因,使用Qcom的leak_detector工具跟踪分析。
相关知识点:
- 线程是否泄漏: ps -AT | grep pid,查看pid对应进程所有线程信息

本文详细解析了SurfaceFlinger文件句柄泄露问题,触发Too many open files错误,导致monkey测试中应用崩溃的现象。通过adb shell命令行,检查进程最大文件数限制,定位问题所在。深入探讨了sync_fence fd异常增长的原因,并使用Qcom的leak_detector工具进行跟踪分析。
958

被折叠的 条评论
为什么被折叠?



