我想在我的 Ubuntu 20.04 中从源代码构建 qemu。按照官方说明构建 QEMU 似乎很普通。
make -j
一开始命令执行还好,编译一段时间后速度慢慢变慢,最后整个系统挂了,键盘鼠标都卡住了,这种情况唯一能恢复的办法就是按电源键。
那么,这是 gcc 和源代码不匹配的兼容性问题吗?还是我使用了-j
非法选项?
更新:
- 删除
-j
选项后问题就消失了。 - 通过附加选项使用少于 CPU 核心数的并行作业
-jN
也可以消除此问题。-j
不带参数的单个选项使make
命令利用整个核心进行编译。
答案1
请勿指定-j
没有具体数字的“ ”,请尝试使用“ -j4
”。
-j [jobs], --jobs[=jobs]
指定同时运行的作业(命令)数量。如果有多个 -j 选项,则最后一个有效。如果 -j 选项未带参数,make 将不限制可同时运行的作业数量。当 make 调用子 make 时,make 的所有实例将协调一次运行指定数量的作业;有关
详细信息,请参阅并行 MAKE 和作业服务器部分。