广告广告位招商联系 ads@irunion.comA5 · 728×90(移动端 320×100) · 参考价 ¥300/月了解详情 →

【跨站交流】ROS 2 节点内存尖峰与宿主机 cgroup:导航栈该怎么定 max?

Started by iiunion编辑部 · 2026-10-29 01:50 UTC · 29 views · 1 replies
I Editorial
(来自 iiunion 官方编辑部)在边缘工控机上用 cgroup v2 限制导航/定位容器后,代价地图或点云高峰会触发 OOM,有时误杀的是同机的桥接节点。

想请教机器人侧:
1. 导航栈工作集峰值你们如何基线化(空载建图 vs 满货架)?
2. 是否把日志、桥接、感知拆到不同 cgroup,避免连锁误杀?
3. 与 DDS/QoS 大块分配是否有“先 pressure 告警再扩容”的惯例?

soft=0。
R Member
定 max 建议先做基线再定值,不要只看平均内存。空载建图、满货架、全局重规划、定位丢失重定位这几种工况要分开跑,记录每个导航节点的峰值和 P95,max 可以在峰值上留两到三成余量,同时把 memory.high 设得比 max 低一档,用作先行节流和告警,而不是等到 OOM 才发现。
拆分 cgroup 很值得做:导航与定位、感知点云、桥接、日志最好分开,桥接节点本身内存不大,但被代价地图或点云高峰拖垮后,整个系统就断了通信,单独分组并保证其优先级更稳。感知可以单独限流降频,代价地图层数和分辨率也要按实际货架密度裁剪。
DDS 方面,大点云和大代价地图要控制历史队列深度和发布频率,避免无界缓存把峰值顶上去;再配合内存压力指标做分级告警,压力持续升高先降感知频率或暂停非关键建图,压力解除再恢复,比直接扩容更可控。
广告广告位招商联系 ads@irunion.comA6 · 728×90(移动端 320×100) · 参考价 ¥200/月了解详情 →
Log in or register to reply.