回答:
BFSは現在メインラインカーネルの一部ではないため、独自のカーネルをダウンロード、パッチ、およびコンパイルする必要があります。メインラインカーネルにはスケジューラーが1つしか含まれておらず、同じコードベースに複数のスケジューラーや、オンザフライの切り替え可能なスケジューラーさえありません(それはおそらく実行可能なことです)。単純に複雑すぎて、努力する価値はありません。
したがって、システムでBFSを取得するには:
ただし、特に新しいカーネルバージョンでは、CFSよりもBFSを実行する利点は非常に小さくなります。CFSは常に改善されていることに留意してください。
これについて少し調べたところ、Linux用のスケジューラーはCFSとBFSの 2つだけであるようです。
Ubuntu 10.10にBFSをインストールする最も簡単な方法は、PPAパッチです:
sudo add-apt-repository ppa:chogydan/ppa
sudo apt-get update
sudo apt-get install linux-image-generic-ck linux-headers-generic-ck
「PPAとは何ですか?それらの使用方法」で説明されているように、Ubuntu Software Centerを使用してパッチをインストールすることもできます。
このパッチは、新しい(パッチを適用した)カーネルをインストールします。これは、ブート時にGRUBメニューに接尾辞「-ck」とともに表示されます。再起動し、ブートメニューで適切なカーネルを選択して、スケジューラを切り替えます。
パフォーマンスについて
私の場合、Folding @ HomeをデスクトップPCのバックグラウンドで実行すると(Intel i7 2600Kの8つのコアで8つのF @ Hスレッド)、BFSの方が大幅に優れています。一方、バックグラウンドF @ Hアプリケーションは20〜25%高速です。
このシナリオでは、対話型デスクトップの使用と長時間実行されるCPU負荷の高いバックグラウンドタスクを同時に処理するため、CFSは一度に1つのコアをアイドル状態にする傾向がありました。BFSは、すべてのコアをバックグラウンドタスクに100%使用することではるかに優れているように見えますが、インタラクティブなデスクトップタスクに高速応答を提供します。
おそらく、可能なあらゆる負荷の組み合わせの下で最適に実行される単一のスケジューラーはありませんが、BFSの方が優れている場合があります。
ただし、以下はPrecise Pangolin(Ubuntu 12.04)YMMVで機能しました。
pf-kernel
今日(2013年12月)UbuntuシステムにBFSをインストールする最良の方法は、基本的に多数のパフォーマンスパッチが適用された標準カーネルであるpf-kernelをインストールすることです。これらのパッチは次のとおりです。
pf-kernel
Ubuntu のパッケージをインストールする方法についての記事は、「pf-kernelでLinuxデスクトップのパフォーマンスを向上させる」という記事に記載されています。パッケージ。しかし、Debianパッケージはフォーラムユーザーbig_bumのDropboxアカウントからダウンロードできることに言及しているスレッド「pf-kernel for Ubuntu」(pk-kernel
フォーラム上)を見つけました。
pf-kernel
私は必要なダウンロードしてスタートを切ったように、私がインストールしたマシンは、古い32ビットのラップトップであるlinux-headers
とlinux-image
呼ばれる私のマシン上のディレクトリにパッケージを~/kernel
。
(上記のDropboxアカウントに移動して、これらのパッケージの64ビット以上のバージョンを見つけてください。)
その後、「pf-kernelを使用してLinuxデスクトップのパフォーマンスを向上させる」の手順に従い、次のコマンドを実行しました。
$ cd ~/kernel
$ sudo dpkg -i *.deb
すべてがスムーズに動作するように見えるので、再起動しました。
クイックインスペクションは、それが機能していることを示しているようです。たとえば、コマンドuname -a
は次を使用していると報告しますpf-kernel
:
Linux siobhan 3.12.2-pf +#6 SMP PREEMPT Mon Dec 2 19:09:52 EET 2013 i686 i686 i386 GNU / Linux
そしてcat /sys/block/sda/queue/scheduler
、BFQが現在(sda
ディスクの)現在のディスクスケジューラであることを示しています。
noop deadline cfq [bfq]
BFSを使用して新しいカーネルにパッチを適用してインストールします。別のカーネルを使用する必要があります。同じカーネルイメージで両方を使用する方法はありません(特にオンザフライで使用する場合)