星球 - BFS+BFQ+config_hz=10000+PAE

作者:Lawliet | 來自:Lawliet's blog | 2011/1/17 5:35:00
Photobucket

很多人都想在自己的linux上編譯高效能的核心
但如果只是下載源碼並重新編,那提升的效果是有限的
我修改了AUR上kernel26-ckconfig文件
將其改為config_hz為10000,I/O調度管理器為BFQ(CFQ可選)
經過高度優化的linux核心,我可以在多線make的壓力下
輕鬆的使用我的電腦做其它工作,不會像以前一樣
因為CPU被資源被強佔,造成其餘工作所分配到的資源不足
對流暢性有所影響!



首先必須先下載幾個檔案
linux kernel 2.6.37

BFS Patch:
for 2.6.37

BFQ Patch
for 2.6.37-001
for 2.6.37-002
for 2.6.37-003

config file:
config for 32bit
config for 64bit



依序將patch打上:
patch -Np1 patch-2.6.37-ck1
patch -Np1 0001-bfq_iosched-block-prepare_IO_context_code-v1-2.6.37.patch
patch -Np1 0002-bfq_iosched-block-add-cgroups-kconfig-and-build-bits-for-BFQ-v1-2.6.37.patch
patch -Np1 0003-bfq_iosched-block-introduce_BFQ-v1-2.6.37.patch



如果你使用Debian係的Linux發行版
可以用kernel-package幫助編譯及打包

sudo make-kpkg clean
sudo make mrproper
cp /boot/config-`uname -r` ./.config #如果需要本身的config的話
CONCURRENCY_LEVEL=4 fakeroot make-kpkg --initrd --append-to-version=-bfq kernel_image kernel_headers
sudo dpkg -i linux-image-2.6.3*.deb ; sudo dpkg -i linux-headers-2.6.3*.deb
sudo dpkg -i linux-image-2.6.3*.deb ; sudo dpkg -i linux-headers-2.6.3*.deb



如果不想用我改的config你也可以用自己的config
並在其內中加入以下兩段

#IO Schedulers
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_CFQ_GROUP_IOSCHED=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
CONFIG_DEFAULT_BFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PADATA=y


#Config_HZ
CONFIG_HZ_10000=y
CONFIG_HZ=1500

到這裡,基本上你已經打造了一個高性能低延遲耐壓的linux核心