私だけそんなことでしょうか、それともreniceのマニュアルページがあいまいなのでしょうか?

私だけそんなことでしょうか、それともreniceのマニュアルページがあいまいなのでしょうか?

サーバーの過負荷でも応答性を維持するために、一部のプロセスを再調整しようとしています。

私はreniceの簡単なマニュアルページを読んで、それをもう一度読むたびにそれについての理解を減らしました。一定優先順位が変わったそうですね。しかし、優先順位はnicenessの反対なので、コマンドがreniceと呼ばれることを考えると驚くべきことです。詳しくは、説明セクションでスケジュールの優先順位について説明します。

有用な優先順位は、19(システムの他のプロセスを実行したくない場合にのみ影響を受けるプロセスが実行されます)、0(「デフォルト」スケジューリング優先順位)、任意の負数(仕事を非常に高速に進める)です。

これは、topコマンドで表示される優先順位と優先順位の関係と一致しません。その人の上から:

仕事の美しい価値。負の nice 値は優先順位が高いことを意味し、正の nice 値は優先順位が低いことを意味します。このフィールドのゼロは、ジョブのスケジュール可能性を決定する際に優先順位が調整されないことを意味します。

トップレベルの世界では、優先順位は親切さの反対です。別のPRフィールドに優先順位の値が表示されます。これは、より速く実行されるプロセスに対してより高くなります。

レニスの世界では、優先性と善さは同じ価値と考えられています。実際、 renice -n は renice --priority と同じです。

reniceのマニュアルページで提供されている例は、多くのシステムで役に立つようです。ルートプロセスの速度を上げます。しかし、私の記憶が正しいと、実際には遅くなります。私はこれが誤解を招く例であるか、少なくとも正しく説明されていない例だと思います。

実際、値は増分または優先順位であり、2つを区別するコマンドフラグはありません。したがって、 renice+1 または renice-1 を使用できます。しかし、-1は優先順位や増分である可能性がありますが、どのように解釈されますか?私はrenice -1 root何をするのかを推測したり、実験的に決定したりできます。マニュアルページでこれが何をするかを決定する論理的な方法はないようです。

「良い人」がルートプロセスをより速く実行させるコマンドと、将来のマニュアルページをどのように解釈できるかを説明してください。

ベストアンサー1

ルートではないため、より高速な優先順位を取得できません。したがって、正の数は遅く、負の数は高速です。

$ renice -n -10 6341
renice: failed to set priority for 6341 (process ID): Permission denied
$ renice -n +10 6341
6341 (process ID) old priority 0, new priority 10
$ renice -n 0 6341
renice: failed to set priority for 6341 (process ID): Permission denied

これはps表示されたものとも一致し、SN+プロセス(前景でスリープ、OK)を表示します。マニュアルページでは、これをN「低い優先順位(他のユーザーにとって良い)」と説明しています。ルートはそれをに変換するため、負の数を指定してくださいS<+。ここで<「高い優先順位(他のユーザーにはよくない)」です。


あなたは正しいです。文書が混乱しているようです。 BSDは基本的に同じマニュアルページを持っているように見えるreniceので、そこでより良い説明を見つけるのは難しいです。 POSIXテキストも不明瞭に見えます。良い値を次のように定義します。

3.244 Nice Valueは、
プロセススケジュールを変更するためのシステム推奨事項として使用される数値です。プロセス実行がスケジューリングされると、値が小さいほどプロセスに追加の優先順位が与えられます。値が大きいほど優先順位が低くなり、プロセスが実行される可能性が低くなります。

それから言ったrenice -nそれ

指定されたプロセスのnice値を調整する方法を指定します。増分オプションパラメーターは、指定されたプロセスのnice値を変更するために使用される正または負の10進数です。

正のデルタ値はより低い良い値を得る。負のデルタ値には適切な権限が必要な場合があり、結果としてより良い値が得られます。

2番目の段落は良い値の定義と矛盾するようです。

おすすめ記事