ちょうどnice(およびionice)の存在について学んだが、非常に興味深いようです。
通常、「p_normal」より低い優先順位で「p_low」プロセスを開始したいと思います。
私はそれから何を得ることができますか?ウィキページ(リソースの割り当て方法を示す唯一のソース)は次のとおりです。
nice +15で実行されるプロセスは、通常の優先順位プロセスに割り当てられたCPU時間の25%を取得します。(20 - 15)/(20 - 0)= 0.25
したがって、これに基づいて「nice -18 p_low」であれば、p_lowプロセスに10%のCPU時間を提供できます。
ギイ私の「p_normal」が実行中の場合。
だから質問は:スケジューラにデフォルトのniceness値を使用し、他のものが実行されたときに-18しか持たないように指示する方法はありますか?
最悪のシナリオでは、他のものが実行されていることを確認し、私のプロセスを「調整」するスクリプトを作成できますが、これは私にとって最善の選択ではないようです。
編集する:
答え: @jilliagreが彼の答えの下のコメントで指摘したように:
実行中に他のエントリがない場合、コマンドは指定されているかどうか(-18、0、+ 18、...)に関係なくCPUの100%を取得します。
答え1
美しい作品を見逃しました。 CPU ボトルネックが発生した場合、一部のプロセスの優先順位を他のプロセスより優先するように、スケジューラにヒントを送信します。
実行中の他の項目がない場合は、パフォーマンスに関係なくプロセスにすべてのCPUパフォーマンスが付与されるため、特定の状況でパフォーマンスを変更する必要はありません。