LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: ti8er

双核机器编译LFS6.4

[复制链接]
 楼主| 发表于 2008-12-15 19:46:46 | 显示全部楼层
Post by trublemaker;1923578
只要用make就可以并行编译的

make -jN 就可以


晕倒,谢谢兄弟,我现在才知道有这个选项!

我作了试验,编译Binutils,时间也就是1SBU。
用make的结果是
2分55秒。
用make -j的结果是
1分29秒!

哇,我真是惊讶了。我还以为双核就可以自动用了呢,原来还要加选项……
那样的话,我机器上所有的编译软件速度又刷新了!哈哈。基本上时间应该是除以2!
回复 支持 反对

使用道具 举报

发表于 2008-12-15 20:16:51 | 显示全部楼层
N 是线程数,一般多核的情况下,N 可以是核心数乘二再加一,也就是说双核可以用 make -j 3 都不错
回复 支持 反对

使用道具 举报

发表于 2008-12-16 23:46:52 | 显示全部楼层
Post by d00m3d;1924337
N 是线程数,一般多核的情况下,N 可以是核心数乘二再加一,也就是说双核可以用 make -j 3 都不错


make -j 5
回复 支持 反对

使用道具 举报

发表于 2008-12-17 00:33:57 | 显示全部楼层
一般说来,N=2*CPU数+1,
线程太多了,对速度没有多少提升了
还有,也不用每次都make -JN

直接设置 

export MAKEFLAGS="-jN" 就可以了。
回复 支持 反对

使用道具 举报

发表于 2008-12-17 04:06:48 | 显示全部楼层
线程太多不单不会提升,反而因为等待而令实际效能降低
回复 支持 反对

使用道具 举报

发表于 2008-12-18 00:19:53 | 显示全部楼层
学习了,还有这选项,我说怎么编译的时候只能一个CPU是100%的.
回复 支持 反对

使用道具 举报

发表于 2008-12-18 13:02:59 | 显示全部楼层
Post by trublemaker;1924989
一般说来,N=2*CPU数+1,
线程太多了,对速度没有多少提升了
还有,也不用每次都make -JN

直接设置 

export MAKEFLAGS="-jN" 就可以了。


export MAKEFLAGS="-jN" 
jN 中间有没有空格?
回复 支持 反对

使用道具 举报

发表于 2008-12-18 14:54:30 | 显示全部楼层
都是一样的吧
回复 支持 反对

使用道具 举报

发表于 2008-12-18 22:45:24 | 显示全部楼层
lfs:/mnt/lfs/sources/linux-2.6.22.5$ make mrproper
gcc: Internal error: Segmentation fault (program cc1)
Please submit a full bug report.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
gcc: Internal error: Segmentation fault (program cc1)
Please submit a full bug report.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

用了export MAKEFLAGS="-jN" ,编译GCC后,再编译Linux-2.6.22.5 API Headers
就出错了.
回复 支持 反对

使用道具 举报

发表于 2008-12-19 07:43:48 | 显示全部楼层
N要换成你的数值哈。

CPU数+1,呵呵。

如果你用jhalfs,就会发现,实际上他用的也是MAKEFLAGS
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表