RLIMIT_NICEは役に立ちますか?

RLIMIT_NICEは役に立ちますか?

使っていますprlimitUbuntuのサンドボックスにリソース制限を設けることは非常に役立ちました。しかし、何をすべきかわかりませんRLIMIT_NICE。文書には次のように記載されています。

RLIMIT_NICE(Linux 2.6.12以降、以下のバグを参照)setpriority(2)またはNice(2)を使用してプロセスのNice値を増やすことができる上限を指定します。

しかし、それによると優先順位の取得(2)、スーパーユーザーが最初に所有したプロセスだけが良い価値を高めることができます。ただし、この場合、権限を持つユーザーがランダムに値を下げたり上げたりする可能性があるため、このRLIMIT_NICE値は多くの機能を追加しません。RLIMIT

だから私はそれを使用または説明する方法を理解していませんRLIMIT_NICE。権限のないユーザーには優先順位を上げることができず、現在の優先順位よりも低く設定する必要がないため、すべてが役に立たないようです。ただし、上級ユーザーの場合、ソフトとハードの制限をランダムに上げることができるため、実際には何も追加されませんniceRLIMIT_NICE

それでは、その背後に隠されたアイデアは何ですかRLIMIT_NICE

ベストアンサー1

実際には、RLIMIT_NICEルートが所有するプロセスだけが良い値を上げることができるという基本的な規則を迂回することができます。

デモ:

# ulimit -e 30
# su nobody
$ nice -n -10 top

topプロセスが正しく実行されていることがわかります-10

今試してみるとうまくnice -n -11 topいきます。0なぜなら。-11RLIMIT_NICE=30

式はマンページに示されています。許容される最大親切度はです20-rlimit。だから:

  • 0これは「好感度を20まで高めることができる」という意味で、役に立たないという意味でもあります。
  • 20これは「クールをゼロに上げることができる」という意味で、優先順位を下げれば再びゼロに戻ることができます。
  • 40「最大のプロセスを開始できますnice -n -20

おすすめ記事