colcon build 限制编译线程数量

解决方案:限制 “单个包编译的线程数”(核心)
要真正限制总线程数,需同时控制colcon 的并行包数和单个包的编译线程数,以下是 3 种实操方案(按易用性排序):
方案 1:全局限制 make/CMake 的线程数(推荐,一劳永逸)
ROS2 包最终由make/ninja编译,先全局设置这两个工具的默认线程数,再配合 colcon 的并行包数,精准控制总线程:
1.编辑 bash 配置文件(永久生效):

nano ~/.bashrc

2.在文件末尾添加以下内容(以 8 核 CPU 为例,限制单个包用 4 线程):

# 限制make默认线程数(核心)
export MAKEFLAGS="-j4"
# 限制ninja默认线程数(ROS2常用编译工具)
export NINJAFLAGS="-j4"

建议值:单个包线程数 = CPU核心数/2(比如 8 核设 4,16 核设 8);
3.生效配置:

source ~/.bashrc
# 验证是否生效
echo $MAKEFLAGS  # 输出-j4即成功

4.配合 colcon 的并行包数编译(最终总线程≈单个包线程数 × 并行包数)

# 并行编译2个包,每个包用4线程,总线程≈88核CPU刚好占满但不超额)
colcon build -j 2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可峰科技

生活不易

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值