参考文档说明log-locations.md各模块日志路径详细说明error-codes.md常见错误识别和解决建议performance.mdQNX性能分析方法详解(含monitor_cpu.sh脚本)qnx-commands.mdQNX命令参考troubleshooting.md故障排查案例库report-template-system-resource.md⭐ 系统资源分析报告模板(必读)
脚本说明用法monitor_cpu.sh综合CPU监控(彩色+日志)./monitor_cpu.shdownload_log.sh批量下载日志(打包/逐模块)./download_log.sh [-a] [-c IP] [模块名]analyze_log.sh日志错误分析(模式识别+报告)./analyze_log.sh [-l] [-r] [模块名]
bash
# 下载所有模块日志
./download_log.sh
# 下载单个模块
./download_log.sh planning
# 打包模式(大数据量推荐)
./download_log.sh -a
# 指定百兆网口
./download_log.sh -c 192.168.2.10 planning
# 指定保存目录
./download_log.sh -o /tmp/logs planning od rd
bash
# 分析板端所有模块
./analyze_log.sh
# 分析指定模块
./analyze_log.sh planning od rd
# 分析本地已下载的日志
./analyze_log.sh -l planning
# 生成分析报告
./analyze_log.sh -r
当用户要求分析系统资源时,必须严格按照 report-template-system-resource.md 模板输出。
章节内容第1章 系统健康度CPU/内存/进程数/线程数总览 + CPU统计(Min/Max/Avg/Idle)第2章 CPU占用 TOP 15排名、进程名、CPU%、SYS%、判定第3章 内存占用 TOP 15排名、进程名、内存、判定第4章 线程状态异常Mtx/Sem异常线程列表第5章 泊车业务进程状态13个业务进程的运行状态、PID、在线时长第6章 TOP完整输出top命令原始输出第7章 重点关注项异常汇总 + 可能原因 + 排查建议
指标🟢 正常🟡 注意🔴 告警单进程 CPU< 10%10% ~ 50%> 50%系统总 CPU< 50%50% ~ 80%> 80%单进程内存< 200M200M ~ 500M> 500M可用内存> 2000M500M ~ 2000M< 500M线程 Mtx/Sem0 个1 ~ 3 个> 3 个
sensorcenter, image_preprocess, perception_rd, perception_od, perception_fusion, dr, loc, pad, gridmap, planning, ui_control, adaptercom, nos_adasSimtool
主日志路径: /app/apa/log/ Coredump路径: /log/coredump
各模块日志快速查找:
模块命令planningls -la /app/apa/log/planning/perception (od/rd)ls -la /app/apa/log/{od,rd}/locls -la /app/apa/log/loc/sensorcenterls -la /app/apa/log/sensorcenter/所有模块ls -la /app/apa/log/
bash
# 查看最新日志
tail -100 /app/apa/log/planning/*.log
# 实时跟踪
tail -f /app/apa/log/planning/*.log
# 搜索错误
grep -i "error" /app/apa/log/planning/*.log
# 查看系统日志
slog2info | grep -i planning
网络信息:
bash
# 单个模块日志
scp root@192.168.1.10:/app/apa/log/planning/*.log ./
# 批量下载所有日志
scp root@192.168.1.10:/app/apa/log/*.log ./
# 打包下载
ssh root@192.168.1.10 "tar czf /tmp/logs.tar.gz -C /app/apa/log ."
scp root@192.168.1.10:/tmp/logs.tar.gz ./
bash
# 查看进程详情(QNX特有)
pidin -p planning
# 查看CPU占用
hogs | grep -E "planning|od|rd|loc|psd|sensorcenter"
# 查看系统状态
top
bash
# 综合监控脚本(彩色输出+自动日志)
/userdata/monitor_cpu.sh
特性:
/userdata/log/cpu_monitor/bash
# 第一步:找出占用CPU的进程
hogs -i -s 1
# 第二步:查看该进程详情
top -p <PID>
# 第三步:分析线程状态
# - Run: 正常计算
# - Mtx/Sem: 锁竞争,需检查
# - NSlp: 正常休眠
PIDSSYSSTATE可能原因>50%<30%多Run算法过重,需优化>50%>70%多Run死循环或系统调用频繁正常正常多Mtx/Sem锁竞争严重,检查代码正常正常多NSlp正常休眠
bash
# 上传脚本到板端
scp scripts/monitor_cpu.sh root@192.168.1.10:/userdata/
# SSH登录板端
ssh root@192.168.1.10
# 添加执行权限
chmod +x /userdata/monitor_cpu.sh
# 前台运行(实时查看)
/userdata/monitor_cpu.sh
# 后台运行(适合长期监控)
nohup /userdata/monitor_cpu.sh > /dev/null 2>&1 &
# 查看监控日志
tail -f /userdata/log/cpu_monitor/cpu_monitor_*.log
# 停止后台进程
kill $(pidof monitor_cpu.sh)
定位日志路径 bash
ls -la /app/apa/log/
查看最新错误 bash
grep -i "error\|fail" /app/apa/log/planning/*.log | tail -50
实时跟踪 bash
tail -f /app/apa/log/planning/*.log
如需下载分析 bash
scp root@192.168.1.10:/app/apa/log/planning/*.log ./
快速启动综合监控 bash
/userdata/monitor_cpu.sh
观察监控输出
深入分析 bash
# 查看目标进程详情
top -p <PID>
分析问题
查看历史监控日志 bash
tail -100 /userdata/log/cpu_monitor/cpu_monitor_*.log
查找coredump文件 bash
ls -la /log/coredump/
查看崩溃原因 bash
cat /log/reset_reason.txt
结合日志分析 bash
slog2info | grep -i "crash\|segmentation"
连接到板端:
bash
# 千兆网口
ssh root@192.168.1.10
# 百兆网口
ssh root@192.168.2.10
测试连接:
bash
ping 192.168.1.10
功能QNXLinux查看进程详情pidin``ps结束进程slay``kill系统日志slog2info``journalctl资源监控hogs, top``top, htop