請問可以用 make -j4 來編譯 kernel 嗎?? - BBS

Liam avatar
By Liam
at 2009-10-06T16:16

Table of Contents

小弟我最近在學習編譯 world & kernel

在編譯 world 的時後, 在官網的 handbook

http://www.freebsd.org/doc/zh_TW.Big5/books/handbook/makeworld.html

看到這段

It is possible to specify a -j option to make which will cause it
to spawn several simultaneous processes. This is most useful on
multi-CPU machines. However, since much of the compiling process is
IO bound rather than CPU bound it is also useful on single CPU machines.

On a typical single-CPU machine you would run:

# make -j4 buildworld

make(1) will then have up to 4 processes running at any one time.
Empirical evidence posted to the mailing lists shows this generally
gives the best performance benefit.

小弟看到這邊有兩個疑問

(1) 為甚麼 compiling 這個動作是 io bound, 將一個語言編譯成另一個語

言應該需要大量的運算, 不是 cpu bound 嗎?

(2) 因為在文件後面編譯 kernel 時所下的指令是 make buildkernel

KERNCONF=MYKERNEL, 請問這邊可以改用 make -j4 buildkernel

KERNCONF=MYKERNEL 嗎?? 會因此而使得編譯時間變短嗎??

以上的問題爬文找不到解答

在這邊先感謝大家的回答 <(__)>

--
Tags: BBS

All Comments

請問在virtualbox上安裝freebsd(已解決)

Kyle avatar
By Kyle
at 2009-10-05T11:44
請問一下, 可以分享一下您的網路設定嗎? 您裝在VirtualBox內的FreeBSD是如何上網? 我試了PPPoE沒辦法成功:andlt; 其他非PPPoE的方式也一樣:andlt; 謝謝您! ※ 引述《operationcow (香蕉公車)》之銘言: : 小弟的電腦是 m ...

請問在virtualbox上安裝freebsd(已解決)

Mason avatar
By Mason
at 2009-10-03T16:56
小弟的電腦是 macbook 希望在 Mac OSX(10.5.8) 下利用 virtualbox(3.0.6) 運行 freebsd(7.2-RELEASE) 可是每次安裝到一半 都會出現 couldnand#39;t stat directory /usr/compat: Device not ...

請問安裝Maple路徑問題

Caitlin avatar
By Caitlin
at 2009-10-03T14:17
-root- # tar xvfz /tmp/MapleBBS-3.10-20yymmdd-PACK.tgz -C /home/ 假設您把 BBS 程式檔案放在 /tmp/ 可是我的檔案在桌面 BSD是用VM模擬的 請問要怎麼設定路徑進行安裝呢? - ...

kde3 安裝問題

Robert avatar
By Robert
at 2009-09-27T22:48
板上的各位好 我在安裝kde3時 遇到一些問題 google了一下 找到 好像跟下面這個網址一樣的問題 http://archive.netbsd.se/?ml=freebsd-x11andamp;a=2009-08andamp;m=11403177 不過他沒有回應解決方法= = and#39;and#39 ...

libiconv

Rae avatar
By Rae
at 2009-09-27T14:46
※ 引述《Graphene ( )》之銘言: : 我的 libiconv 本來是1.9.2_2 版 : CVSUP 後 make deinstall 再安裝1.13.1版時出現下列訊息 [略] : 請問我現在該怎麼辦? * 先裝 portupgrade(如果已經有的話可以省略)。 # cd /usr/ ...