当你运行cmake -j时卡住,内存和cpu占用过满的解决方法

当我在虚拟机中运行cmke -j时,一运行到33%就卡住,然后整个系统崩溃。并出现

c++: fatal error: 已杀死 signal terminated program cc1plus
compilation terminated.
make[2]: *** [g2o/types/slam3d/CMakeFiles/types_slam3d.dir/build.make:193:g2o/types/slam3d/CMakeFiles/types_slam3d.dir/edge_se3_pointxyz.cpp.o] 错误 1
make[2]: *** 正在等待未完成的任务....

并且查看资源管理器显示cpu和内存全部占用满了,我扩大了运行内存,但是还是没用。

后面我运行

cmake -j2

运行成功。

减少并行编译的线程数

cmake -j 默认会使用与 CPU 核心数相等的线程数进行编译。你可以通过限制并行线程数来减少 CPU 占用。

减少编译线程数: 例如,使用 -j2 只使用 2 个线程进行编译:

cmake --build . -j2

你可以根据虚拟机的 CPU 核心数和系统负载调整 -j 后的数字,通常 1 到 2 个线程对虚拟机来说比较合适。

当你遇到

catkin_make -j

运行时,内存与cpu占用过满,也可更改为

catkin_make -j2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值