Linuxカーネルがインタラクティブプログラムの優先順位を指定しないのはなぜですか?

Linuxカーネルがインタラクティブプログラムの優先順位を指定しないのはなぜですか?

私は100%で実行すると長い時間がかかると予想されるバックグラウンドタスク(コンパイルや電子メールのダウンロードなど)を終了するまで、GNOMEのようなものの反応が遅くなることがわかりました。 Linuxカーネルがリアルタイム応答を必要とするプログラムに高い優先順位を与えないのはなぜですか?

しかし、私はFedoraを新しくインストールしてカーネルバージョン4.0を実行しています。

ベストアンサー1

私はこれがインタラクティブプログラムに優先順位を与えると思いますが、おそらく十分ではないかもしれません。プログラムは実行時間が長くなるほど優先順位を失い、非対話型プログラムは対話型プログラムよりも優先順位を早く失います。

CPU 使用率は 100% に近づけてはいけません。 その場合は、いくつかの点を確認する必要があります。

プログラムの優先順位に影響を与える2つの要因は、初期の良好な値と使用されたスケジューラです。 Niceを使用すると、特定のプログラム(過度のコンパイル操作など)の優先順位を下げることができます。ルートはniceを介してプログラムに高い優先順位を提供することもできます。スケジューラは、プログラムがCPUをどのように「ホギング」できるかと、他のプロセスを先取りできるタイミングを決定します。ここでは、プロセスに「リアルタイム」優先順位を付けることができます。つまり、他のプロセスより先に実行されるという意味です。

問題は、システムを結ぶことが何であるかわからないということです。おそらく、GNOMEはディスク上で待たなければならないいくつかのサブプロセスを待たなければならないので遅いかもしれません。おそらくグラフィックカードが協力していないので、GNOMEはグラフィックソフトウェアを使用してレンダリングする必要があるかもしれません。および/または他の予約ポリシーによってシステムが遅くなる可能性があります。これは、GNOMEが待っているもの(ディスクアクセスなど)がGNOMEによってプリエンプトされ、以前よりも遅く実行できるためです。

問題がどこにあるかを把握したら、Xおよび/またはGNOMEに優れた利点やスケジュールを提供できますが、あまり心配しないでください。たとえば、-5 または - を使用する重要なシステムデーモンがあります。 10 nice値の実行中(負の値=より高い/より良い優先順位)、突然GNOMEに-18というnice値を提供しても、これを先取りしないでください。

おすすめ記事