- ずっと前(2.6カーネルより前)非常に低いレベルのデスクトップでは、私は幸せになってきました。Con Kolivasは、Xサーバーのチューニング(やや過重(-10))をお勧めします。(より良い反応性のため)
- 最新のカーネル、最新のスケジューラ、SMPシステムを使用すると、多くの人が1+または-を変更しても、デフォルトのNice値は「システムの他の部分が非常に明白な方法で影響を受けるようにします。「基本状態に戻りました。」
- これ以上これに従わなかった後、最近/usr/bin/X(1.20.8)が始まったことに驚きました。-nolisten tcp -keeptty :0 -auth おそらく-1 という適切な値で実行されます。 (*1)
質問1:これで、デフォルトのnice値としてSCHED_OTHERジョブを主に実行するデスクトップに最適と見なされます(-1のnice値でXサーバーを実行)。
以下の* 1は、すべての状況(クライアント、ハードウェア、カーネル、CPUの固定など)に関係なく、最善の選択ではありませんが、freedesktopの意図的な意図であることを非常に奇妙な方法で示しています。
Q2:Xサーバーが実装するために使用されるほとんどの実装を表すウィンドウ/複合マネージャ(kwin_x11)も実行していることを考慮すると、付属のreniceを考慮する必要がありますか? Xサーバーはいくつありますか? (Xはkwin_x11の平均1.5 CPU時間を消費します。)(* 2)
Q3:非自発的なコンテキスト遷移の相対値に基づいてX / kwin_x11の良い相対値に基づいているのが適切ですか? (kwin_x11はXより約30倍多くの非自発的なコンテキスト遷移を持ちます(一部の一般的なデスクトップワークロード中))
Q4:より一般的には、クライアント/サーバーSCHED_OTHER世界でサーバーとクライアントアプリケーション間の比較的良い値の経験則がありますか?そして、この特別なケース(Xサーバー/ Xクライアント)を考えると、ほとんどの場合、クライアントはサーバーの可用性を待つと仮定できますか?
さらに、kwin_X11が十分なCPU時間を受信できない最悪の結果はフレーム損失であると仮定することができます。したがって、一部のXクライアントが定期的にX fpsを出力できるようにし、kwin_X11に時々いくつかのフレームを削除させることは言うまでもありませんか?
5 分間に一般的なデスクトップワークロードを実行するデータ:
X(nice-1)ucs:1525/kwin ucs(nice0)51834(gt=53359
)
*1:私が知る限りシーニットコードでは、xinit(親)は後でサーバーを実行する子をフォークした後( `setpriority(PRIO_PROCESS、serverpid、-1); startserverプロセスの一部)を担当します。
実際に...ちょうど...次の説明の後ろにあります。サーバーはあまり良くありません。???これは本当に混乱を重み付けます。
*2:わかりましたクレイジー一部のリアルタイムスケジューリングモデルが気に入らない場合(私の考えには賢明ではないことです(*3))。これはkwinを真剣に拒否します(-10)。残念ながら、これらの調整の理由は示されておらず、その規則はかなり古く(2018年)、kwinはそれ以来多くの変更を行いました。
*サム:少なくともkwin_X11に関する限り、私が正しく理解していれば、Xサーバーはまだ入力を管理しています。