覆盖:CPU调试 | Camera系统命令 | 排查组合拳 | 速查表
Camera开发中,除了看日志,还有很多实用的系统调试命令。这篇文章把常用的调试命令整理成一份"工具箱",每个都标注了使用场景和输出解读方法。
一、CPU调试命令
1.1 查看CPU信息
adb shell cat /proc/cpuinfo用途:查看CPU型号、核心数、架构信息。确认设备CPU规格。
1.2 查看进程资源使用
用途:查看Camera进程的CPU、内存使用情况。
输出解读:
PID USER PR NI VIRT RES SHR S[%CPU] %MEM TIME+ Command
12345 system 20 0 5.2G 120M 80M S 45.2 3.1 12:34 camerahalserver• VIRT:虚拟内存
• RES:物理内存(实际占用)
• %CPU:CPU占用率(Camera正常工作时20-50%是正常的)
1.3 查看进程运行在哪个CPU
adb shell taskset -p <进程号>用途:查看当前进程跑在哪个CPU核心上。Camera进程通常需要绑定到大核上以保证性能。
输出示例:
pid 12345's 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模式(需root)
adb shell "echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"二、Camera系统调试命令
2.1 dumpsys media.camera
adb shell dumpsys media.camera > camera.txt用途:Camera系统全景信息,是最强大的Camera调试命令。
常用搜索:
| |
|---|
| availableStreamConfigurations | |
| |
| |
| |
| |
2.2 dumpsys meminfo
# 查看Camera进程内存
adb shell dumpsys meminfo | grep -A5 camera
# 查看特定进程内存
adb shell dumpsys meminfo <进程号>用途:排查内存泄漏和OOM问题。
2.3 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:requestId=0"
# 4. 查看内存状态
adb shell dumpsys meminfo | grep -A5 camera3.2 Camera Crash排查组合
# 1. 查看tombstone
adb 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 cpu*/cpuinfo_cur_freq | | |
| | |
| | |
| | |
| | |
调试工具箱的核心是"组合拳"——单个命令能看到的信息有限,但按照排查思路组合使用,就能快速定位问题。建议把速查表收藏起来,遇到问题直接翻。
更多Camera开发实战内容
欢迎加入知识星球「小驰成长圈」
120+ Camera工程师 · 340+ 实战内容 · 已运营1565天

微信扫码 · 加入星球