CFSスケジューラとBFSスケジューラを切り替えるにはどうすればよいですか?


回答:


7

BFSは現在メインラインカーネルの一部ではないため、独自のカーネルをダウンロード、パッチ、およびコンパイルする必要があります。メインラインカーネルにはスケジューラーが1つしか含まれておらず、同じコードベースに複数のスケジューラーや、オンザフライの切り替え可能なスケジューラーさえありません(それはおそらく実行可能なことです)。単純に複雑すぎて、努力する価値はありません。

したがって、システムでBFSを取得するには:

ただし、特に新しいカーネルバージョンでは、CFSよりもBFSを実行する利点は非常に小さくなります。CFSは常に改善されていることに留意してください。


カーネル4.0.5をBFSパッチでコンパイルしましたが、スケジューラーがリストされていません。BFSはmake menuconfigで有効化されていました。理由がわかりません。
shantanu

9

これについて少し調べたところ、Linux用のスケジューラーはCFSBFSの 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の方が優れている場合があります。


3

ただし、以下はPrecise Pangolin(Ubuntu 12.04)YMMVで機能しました。

BFSはの一部です pf-kernel

今日(2013年12月)UbuntuシステムにBFSをインストールする最良の方法は、基本的に多数のパフォーマンスパッチが適用された標準カーネルであるpf-kernelをインストールすることです。これらのパッチは次のとおりです。

  • BFS(CPUスケジューラは、CPUコアが16未満のマシンで低レイテンシを提供します)
  • BFQ(高負荷下での低遅延に最適化されたI / Oディスクスケジューラー)
  • TuxOnIce(より高速な休止状態)

ウェブ上の指示

pf-kernelUbuntu のパッケージをインストールする方法についての記事は、「pf-kernelでLinuxデスクトップのパフォーマンスを向上させる」という記事に記載されています。パッケージ。しかし、Debianパッケージはフォーラムユーザーbig_bumのDropboxアカウントからダウンロードできることに言及しているスレッド「pf-kernel for Ubuntu」(pk-kernelフォーラム上)を見つけました。

インストール中 pf-kernel

私は必要なダウンロードしてスタートを切ったように、私がインストールしたマシンは、古い32ビットのラップトップであるlinux-headerslinux-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] 

11月14日-Mythbuntuを実行しているPrecise Pangolin(Ubuntu 12.04.4 LTS)にこのpf-kernelをインストールし、主にビデオ録画用のxfsファイルシステムからより良いI / Oを取得しました。カーネルのバージョン(3.13)を一致させて、nvidiaのデフォルトのドライバー互換性を保証しました。支障なく機能しました。zrjmへの称賛... ..!
keepitsimpleengineer 14年

1

BFSを使用して新しいカーネルにパッチを適用してインストールします。別のカーネルを使用する必要があります。同じカーネルイメージで両方を使用する方法はありません(特にオンザフライで使用する場合)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.