回答:
これらは、どのカーネルをどの順序で使用するかを理解しやすくするために提供された、いくつかの簡単なガイドラインです。ユースケースに合わせてテストする必要があります。
- システムの低レイテンシを必要としない場合は、-genericカーネルを使用してください。
- 低遅延システムが必要な場合(オーディオの録音など)、最初の選択肢として-preemptカーネルを使用してください。これにより待ち時間は短縮されますが、省電力機能は犠牲になりません。64ビットシステム(amd64とも呼ばれます)でのみ使用できます。
- -preemptカーネルがニーズに対して十分な低レイテンシを提供しない場合(または32ビットシステムを使用している場合)、-lowlatencyカーネルを試してください。
- -lowlatencyカーネルでは不十分な場合は、-rtカーネルを試してください
- -rtカーネルが十分に安定していない場合は、-realtimeカーネルを試してください
ですから、スタジオディストロで何をするかによって異なります。一般的な高速エンドユーザー応答時間を必要とするほとんどのユーザーにとっては問題ありません。単純なフレームのドロップでさえ受け入れられないプロフェッショナルなビデオ編集が必要な場合は、リアルタイムカーネルが必要です。
より包括的でわかりやすいブログ投稿については、このリンクを読んでください
-preempt
、-rt
、および-realtime
カーネルには、もはや存在しない
私はubuntuファンによってリンクされたブログ投稿の著者です:http ://sevencapitalsins.wordpress.com/2007/08/10/low-latency-kernel-wtf/
そのブログ投稿は事実を提示しておらず、理論にすぎません。それは実際に動作する方法です。プロセッサは、頻繁に「停止」して、すぐに注意が必要なプロセスがあるかどうかを確認します。つまり、これらのプロセスは他のプロセスよりも先に実行されるため、エンコード時にフレームをスキップしたり、マウスをクリックしてから敵が死亡するまでの間に大きな遅延時間が生じたりすることはありません。それは、すべてのプロセスがより早く終了するという意味ではありません。実際、CPUは、次に実行されるプロセスを決定し、コンテキストスイッチを実行する時間の大部分を失います。そのため、合計実行時間は長くなります。そのため、Webサーバーまたはデータベースマシンでプリエンプティブカーネルを実行する人はいません。ただし、ゲームサーバーにはプリエンプティブな300Hz(または1000Hz)カーネルが最適です。
しかし、今日のプロセッサには多くのコアがあるため、注意が必要なプロセスがほとんどない場合、コアが使用されるのを待つのではなく、別のコアに簡単に割り当てることができます。
(stackexchangeには、参照/個人的な経験が必要です:私は電子エンジニアであり、http: //www.gamezoo.itで複数のゲームサーバーを管理している血に飢えたnoobgamer です)。
だから、経験則として、あなたのプロセッサが強力な数値演算の高周波クアッドコアであり、エンコード/デコード/ゲーム中に大量のウェブページを開かないのであれば(ハァッ)汎用(またはi686、または存在する場合はamd64)カーネルを試してみて、可能な限り最高のスループット(つまり、プロセッサが実行できる生の数値演算)を使用してください。問題が発生する場合(実際にはマイナーなはずです)、またはマシンの性能が市場のトップよりもわずかに低い場合は、-preemptを使用してください。
コアが1つまたは2つしかないローエンドマシンを使用している場合は、-lowlatencyを試してください。-realtimeを試すこともできますが、「リアルタイム」プロセスが終了するまでプロセスをブロックする傾向があることがわかります。リアルタイムカーネルは「バニラ」カーネルではなく、CONFIG_PREEMPT_RTパッチが適用されていると思います。リアルタイムカーネルは、組み込みシステム上で単一のアプリケーションを構築する必要がある人のみを対象とするため、通常はかなりの数のアプリケーションを同時に実行するため、通常のデスクトップユーザーには本当のメリットはありません。
最後に、低遅延デスクトップを使用するためにカーネルを自分で再コンパイルする場合の最も関連性の高いカーネルオプションは次のとおりです。
PREEMPT=y
そして:
CONFIG_1000_HZ=y
いくつかの省電力を追加するには、これを確認できます:
CONFIG_NO_HZ=y
上記のドキュメント(http://www.versalogic.com/mediacenter/whitepapers/wp_linux_rt.asp)から
この記事では、ハードリアルタイムカーネルのレスポンシブレスまたは時間制限が最も重要なプロパティであるため、遅延につながる非クリティカルなアクティビティを遅延させる場合がありますが、低レイテンシまたは他のソフトリアルタイムカーネルでは、ほとんどの場合に役立つ一般的なレイテンシを削減しようとします。待ち時間が短縮されたため、システムは高速に見えます。記事を注意深く読んでください。
1600MHzのデュアルAMD A6-4400Mを搭載したこの古いノートパソコンは、主にメールを読んだり、カジュアルなWebサイトを閲覧したりするために、外出中は控えめに使用しています。おそらくソフトウェアの更新に関連する何かがあり、それが応答しなくなりました。最初の文字を表示せずに12文字入力するようなものです。多くの場合、ウィジェットはプロセスを強制終了する必要があるかどうかを尋ねます。
sudo apt-get install linux-lowlatency
再起動後、スムーズで応答性が向上しました。(uname -r 5.0.0-20-lowlatency。)素晴らしい、私は数年前に切り替えるべきだった。Sevenの答えを強調しましょう:数値演算サーバーから最大値を絞り出したくない場合は、-preemptを使用してください。
-realtime
、リアルタイムで、そして何がない-rt
ために立ちますか?そして、-preempt
カーネルはどうなっていますか?gemue2010に感謝します。彼はそれを説明するのにかなり良い仕事をしましたが、それでもすべてを説明しているわけではありません。