当我在虚拟机中运行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
2万+

被折叠的 条评论
为什么被折叠?



