很多人都想在自己的linux上編譯高效能的核心
但如果只是下載源碼並重新編,那提升的效果是有限的
我修改了AUR上kernel26-ck的config文件
將其改為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核心
想請問在Ubuntu 10.04上改會有穩定度的問題嗎?
回覆刪除我記得DESKTOP版CONFIG_HZ好像是1000的樣子,
為啥他們要設這麼低?
Linux的特性之一就是開放,任何人都可以修改
回覆刪除發行版商的只能算是通用核心
針對個人,可以自己優化自己的核心
我之前用Ubuntu的時候通用核心是300
RealTime核心是1500
我自己是設到10000
這個值太高會影響筆記型電腦的電池壽命
也許原本可以用個5個小時,但改了之後
可能只剩四個半小時
理論上這個值不影響穩定性
Powertop網站上的建議是使用NoHZ,這是為了省電的考量。可以麻煩說明一下BFQ sheduler的優缺點嗎?謝謝!
回覆刪除kernel 2.6有四種IO Schedulers,其中預設就是CFQ
回覆刪除CFQ的主要作用是公平的分配I/O資源給每個應用程式
一般來說較適用於桌面環境
而BFQ它是基於CFQ的代碼,並改進了演算法
實際調度效果略優於CFQ
一般來說CFQ會接受BFQ的反饋
新版kernel的CFQ都會接納BFQ的反饋
並且作為預設IO Schedulers
意思是如果你不特別去修改
你現在用的CFQ就是由BFQ反饋加強後的CFQ
缺點的話,BFQ兩年前發展初期bug不少
但直到去年開始,已經很穩定了
-而Gentoo的核心一年前開始預設就是BFQ
這兩天才開始接觸ArchLinux, 看到您這篇介紹真是令人蠻興奮的, 請問上面BFQ Patch的連結已經失效,哪裡還可以下載的到呢!
回覆刪除Thanks~
Point
回覆刪除http://algo.ing.unimo.it/people/paolo/disk_sched/patches/2.6.37/