Ureadaheadおよび自己組織化コア

おそらく、UbuntuのKarmic Koalaから始めて、ダウンロードを高速化するためにüber- readaheadプログラムまたは単なるureaheadが使用されたという事実から始める価値があります。 これに先立ち、情報の断片から学べる限り、Fedoraディストリビューションの先読みからの同様の開発が使用されました。 Ureadaheadはすでにubuntoid自体の開発です。 ウレアダヘッドがスリーダヘッドより優れているという特定の利点の説明はどこにも見当たらなかったため、移行の理由は謎のままでした。



仕組み:プログラムは、最初の起動時に、ubuntuがディスクから読み取るすべてのファイルを追跡します。 グラフィカル環境の起動の最後に、これらのファイルのリストがディレクトリ「/ var / lib / ureahead /」内の特別なファイル(パック)に書き込まれます。 ディスク上の監視対象ファイルの場所に関するデータも含まれているように思えますが、はっきりとは言えません(ウレアダヘッドに関する情報はほとんどなく、散在しています)。 将来、プログラムはこのデータを使用して事前にファイルをキャッシュに読み込んで、OSの起動を加速します。



問題は、urealaheadにはカーネルサポートが必要なことです。 Ubuntushnikiは、uredaheadのパッチをアップストリームに送信しません。「それがマージされるたびにsyscallトレースイベントにリベースする必要があり、一時的なギャップです。」関数はまだカーネルに含まれていません。



だからここに。 通常、ubuntuカーネル開発者からppaのカーネルソースを取得します。 ubuntoidsのパッチが適用された最新のカーネルがあります。 ただし、urereaheadのサポートは含まれていません! そして、これは不快です、なぜなら このサポートがなければ、ureareadaheadは既製のパックのみを使用できますが、新しいパックを作成することはできません。 したがって、ダウンロード速度が低下します。



ウレアダヘッドのサポートを有効にするパッチは、プログラム自体のソースコードにあります。 コマンド「apt-get sourceureahead」で取得するか、 ランチパッドからダウンロードできます。 パッチはソースのルートディレクトリにあります。 私たちはそれを課し、コアを収集します。 設定するときは、「カーネルハッキング->トレーサー->ブロックioアクションのトレースのサポート」オプションが有効になっていることを確認してください。 残りは通常通りコンパイルします。



カーネルをインストールして動作を確認したら、ureaheadheadパックを更新する必要があります。 次の場合に更新されます。



最後の更新方法が最適です。「/ var / lib / ureahead /」 ディレクトリからdebugfsフォルダー以外をすべて削除します。 次に、再起動して、デスクトップが起動するまで待ちます。 数分待ってから、忠実度を高めてください。 その後、「pack」ファイルと拡張子「.pack」を持ついくつかのファイルが「/ var / lib / ureahead /」に表示された場合は、すべてうまくいきました。 次のダウンロードははるかに高速になります。



さて、最後:パッチはバニラカーネルにも重ねられています(私は2.6.32.8を試しました)。したがって、他のディストリビューションのユーザーも実際にウレアダヘッドを試すことができます。 ;)



All Articles