「良い」ユーザープロセスと「悪い」ユーザープロセスはどういう意味ですか?

「良い」ユーザープロセスと「悪い」ユーザープロセスはどういう意味ですか?

"top"コマンドを使用して良い値を見つけました。私は優先順位について知っており、良い値がプロセスの優先順位を表す方法を知っています。しかし、「良い」または「悪い」という用語が何を意味するのかわからないようです。

答え1

から引用ここ

これらの用語は、プロセスのデフォルトの良好な値が変更されたかどうかを指します。 「niced」プロセスは nice コマンドで実行されたプロセス (または renice によって対応する nice が変更される) を意味し、「un-niced」プロセスは nice コマンドで実行されなかったプロセスを意味します。通常のプロセス(niceコマンドで実行されないか、後でrenice PIDによってnice値が変更されないプロセス)のデフォルトのnice値は0です。したがって、「un-niced」プロセスはnice値が0のプロセスであり、「nice」プロセスはnice値が! = 0のプロセスです。

答え2

「非友好的」という定義は明確ではない。私たちは通常、プロセスの「良い」について話します。

Niceness値の範囲は-20から+19で、デフォルトは0です。

一般ユーザーは減らすプロセスの優先順位が高くなりますnice -n 5 myprogram

rootユーザーは次のことができます。高いプロセスの優先順位を下げて「非友好的」にしますnice -n -5 myprogram

一般ユーザーが負の親切を使用しようとすると無視されます。

答え3

Unniced プロセスは、良いレベルを調整していないプロセスです。 Nicedプロセスは、他のプロセスがより多くのCPUシェアを得ることができるように微調整されています。 (リアルタイムの良好さを使用すると、プロセスが他のプロセスからCPUを盗むことができます。CPU集約的なプロセスに対してリアルタイムの良好なレベルを設定すると、他のプロセスが停止する可能性があります。)

プロセスのniceness優先順位は、優先順位を計算する要素です。プロセスは通常状態0で始まります。長期実行、バッチ処理、または CPU 集約型のプロセスを実行する場合は、優先順位を下げ、他のユーザーになじみやすいように良好な値を設定するのが一般的です。

負の良い値は、通常のプロセスよりもスケジューリング優先順位が高いため、リアルタイムプロセスに適しています。複数の値を使用すると、管理者はリアルタイムプロセスに対して異なる優先順位を設定できます。

通常のスケジューリングは、実行待ちの優先順位が最も高いプロセスから始まり、ラウンドロビン方式で行われます。優先順位の低いジョブが全体のロード時にもいくつかの時間フラグメントを取得できるように、優先順位ベースの重みがある可能性があります。

関連情報