有些人老是覺得個人電腦(伺服器也是啦)性能沒有發揮到極致是一種罪惡,因此總是有人不採用單純的apt-get install 來安裝套件。要是不考慮自行下載原碼回來裝的話,那麼apt-build 是個非常棒的選擇。利用apt-build將原碼下載回來後將的自行編譯,可以說是結合了最佳化的理想與apt的方便,但是編譯本身實在是太花時間了,而且有時候還未必會得到想要的效果1。但是有編譯總是強過直接安裝,至少還能求個心安。
但這apt-build這個動作一直讓我感到很困惑,明明還有一個核心還處在低負載,為什麼閒置中的cpu說不動就是不動。直到這兩天重新讀了歐來禮的「駭客一百招」,在「make」這招裡面,有介紹一個重要的參數-j。基本上只要是有雙處理器的系統,在做make的時候加上參數
- 代碼: 選擇全部
-j2
,速度即可增加到快兩倍,也就是說兩顆cpu都做make的動作。
那麼apt-build怎麼處理?apt-build又沒有這個參數可以下,我到底該怎麼辦。好在apt-build有個設定檔,放在
- 代碼: 選擇全部
/etc/apt/apt-build.conf
,
像小弟的T60 (使用intell T7200)的apt-build.conf如下:
- 代碼: 選擇全部
build-dir = /var/cache/apt-build/build
repository-dir = /var/cache/apt-build/repository
Olevel = -O2
mtune = -mtune=prescott
options = ” ”
make_options = ” ”
預設的make _options是空白的,這個時候我們只需要將
make_options = ” “填上-j2,這下子在make的時候就可以充份地讓兩顆cpu同時來make了。
像是小弟目前在跑網頁伺服器是4核心cpu,那參數就改成-j4就行了。
如此一來apt-build 在make 的時候也可以充份利用多核心了。
這個真的不唬爛,每個核心都有事做,編譯起來真的有效率太多了。