ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Camera开发实用调试工具箱

Camera开发实用调试工具箱 覆盖CPU调试 | Camera系统命令 | 排查组合拳 | 速查表Camera开发中除了看日志还有很多实用的系统调试命令。这篇文章把常用的调试命令整理成一份工具箱每个都标注了使用场景和输出解读方法。一、CPU调试命令1.1 查看CPU信息adb shell cat /proc/cpuinfo用途查看CPU型号、核心数、架构信息。确认设备CPU规格。1.2 查看进程资源使用adb shell top -p 进程号用途查看Camera进程的CPU、内存使用情况。输出解读PID USER PR NI VIRT RES SHR S[%CPU] %MEM TIME Command12345 system 20 0 5.2G 120M 80M S 45.2 3.1 12:34 camerahalserver•VIRT虚拟内存•RES物理内存实际占用•%CPUCPU占用率Camera正常工作时20-50%是正常的1.3 查看进程运行在哪个CPUadb shell taskset -p 进程号用途查看当前进程跑在哪个CPU核心上。Camera进程通常需要绑定到大核上以保证性能。输出示例pid 12345s current affinity mask: ff•ff表示可以在CPU 0-7上运行• 如果是01表示只在CPU 0上运行1.4 查看CPU核在线状态adb shell cat /sys/devices/system/cpu/cpu*/online用途查看哪些CPU核心在线。输出解读•0表示离线1表示在线• 堡机测试时如果CPU频繁离线/上线说明系统在高负荷下动态调核1.5 查看CPU频率adb shell cat /sys/devices/system/cpu/cpu*/cpuinfo_cur_freq用途查看每个CPU核心的当前运行频率。排查思路如果Camera卡顿检查CPU频率是否被限制在低频。可以通过以下命令临时提升频率# 设置CPU governor为performance模式需rootadb shell echo performance /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor二、Camera系统调试命令2.1 dumpsys media.cameraadb shell dumpsys media.camera camera.txt用途Camera系统全景信息是最强大的Camera调试命令。常用搜索搜索关键字获取信息availableStreamConfigurationssensor支持的所有分辨率Active Camera Client当前哪个App在用CameraSession当前session配置torchMode闪光灯状态focusDistance当前对焦距离2.2 dumpsys meminfo# 查看Camera进程内存adb shell dumpsys meminfo | grep -A5 camera# 查看特定进程内存adb shell dumpsys meminfo 进程号用途排查内存泄漏和OOM问题。2.3 dmabuf_dumpadb shell dmabuf_dump用途查看DMA Buffer分配情况。Camera使用大量DMA Buffer如果buffer泄漏会导致内存不足。三、常用排查命令组合3.1 Camera卡顿排查组合# 1. 查看Camera进程CPU占用adb shell top -p $(adb shell pidof camerahalserver)# 2. 查看CPU频率和核心状态adb shell cat /sys/devices/system/cpu/cpu*/cpuinfo_cur_freq cat /sys/devices/system/cpu/cpu*/online# 3. 查看丢帧情况adb shell logcat | grep skip frame\|frameMessage:requestId0# 4. 查看内存状态adb shell dumpsys meminfo | grep -A5 camera3.2 Camera Crash排查组合# 1. 查看tombstoneadb shell ls /data/tombstones/# 2. 查看Camera crash日志adb shell logcat -b all | grep -i crash\|tombstone\|signal# 3. 查看dmesg中的kernel异常adb shell dmesg | grep -i camera\|sensor\|csi# 4. 查看Camera进程状态adb shell dumpsys media.camera四、速查表命令用途适用场景cat /proc/cpuinfoCPU信息确认硬件规格top -p pid进程资源排查卡顿/内存taskset -p pidCPU亲和性性能调优cat cpu*/online核心在线状态堡机问题cat cpu*/cpuinfo_cur_freqCPU频率卡顿排查dumpsys media.cameraCamera全景配置确认dumpsys meminfo内存信息OOM排查dmabuf_dumpDMA Buffer内存泄漏dmesg -wKernel日志驱动层排查调试工具箱的核心是组合拳——单个命令能看到的信息有限但按照排查思路组合使用就能快速定位问题。建议把速查表收藏起来遇到问题直接翻。
返回列表