特定のユーザーにデフォルトのnice値を設定します(limits.conf)


12

誰かがユーザーのnice(によって表示されるtop)のデフォルト値を設定する方法を教えてもらえますか?/etc/security/limits.confが場所であることがわかりましたが、次のいずれかを指定した場合:

username_of_a_guy  -  nice  19
username_of_a_guy  soft  nice  19
username_of_a_guy  hard  nice  19

動作しません(動作するはずですが、正しいですか)。

それ以来、私は再起動していることに注意してください。

ありがとう非常に多くの任意の助けを事前に。私はdebian不安定版(最新版)を使用しています。

環境:

私の仕事では、ローカルネットワークがあります。つまり、誰もが自分のコンピューターを所有しており、必要に応じて誰でも他の人のマシンにアカウントを作成できます。経験則として、他のコンピュータで作業している場合は、プロセスを適切に処理してください(nice 19)。

特定のユーザーのデフォルトのnice値を19に設定したいと思います。


回答:


13

正しい形式は次のとおりです。

@users      -       priority        10
username    -       priority        19

これは、私が運用環境で使用している設定の例です(明らかに実際のユーザー/グループで)。

nice設定は、誰かが自分のデフォルトの優先度にそのプロセスを設定することができない最小の素敵な値(すなわち、最大の優先度)を決定することです。


2
まず第一に、あなたの答えに感謝します(ありがとう、@ mattdm)。この方法はうまくいくようです。ただし、「nice」と「priority」の違いについてはまだ混乱しています。どちらも「top」で表示されますが、niceに引用されている値は、優先度に設定する必要がある値です。私には少し奇妙に見えます。また、優先順位が高い(20ではなく39など)ことは、niceの場合ほど重要ではないプロセスを意味するのでしょうか。ありがとうございました。
Alex

4
一番上の「NI」のいい優先順位は、制限priority設定によって設定されるものです。これは、ログイン時のユーザー/グループのプロセスのデフォルトの優先順位になります。これは、-20から20の間でのみ設定できます。一番上の「PR」値は、実際のスケジューラの優先順位であり、いくつかのカーネルのスケジューラによる要因。
jsbillings 2011年

1
また、はい、優先度が高いほど、CPUサイクルを取得するようにスケジュールされる可能性が低くなります。
jsbillings 2011年

1
わかりました、この曖昧さをなくしてくれてありがとう。ところで、私は他の方法(andまたはを含むcgroup)を試したことがありませんが、私の場合よりも他の状況で良いかもしれません(継続的なチェック、または多くのユーザーの管理が必要です-私の場合は少し多すぎます)。
Alex

うーん...これは私のUbuntuマシンで1人のユーザーには機能しましたが、他のユーザーには機能しませんでした。理由がわかれば戻ってきます。;-)
ケンシャープ

3

私のシステムでも動作しないことを確認できます。ドキュメントには「カーネル2.6.11以上」と書かれており、カーネル2.6.38-rc6のFedora rawhideを使用しています。それはスケジューラに依存していて、2.6.23で導入されたCFQ(「完全に公平なスケジューラ」)では動作しないのでしょうか。

ただし、機能するのは、その恐ろしい名前のために検索することが不可能であるand、auto-niceデーモンです。http://and.sourceforge.net/を参照して ください。これはFedoraからで利用可能ですyum install andが、残念ながらEPELにはないようです。そして、それはDebianにもありますapt-get install and

ただし、最新のディストリビューションを使用している場合は、さらに良い方法があります。libcgroupのツールを使用して、CPU レベルを制限するカーネルレベルのcgroupをセットアップし、そのユーザーのプロセスをこのcgroupに自動的に「分類」できます。これにより、I / Oに優先順位を付け、メモリ使用量(ディスクキャッシュの共有を含む)を制限することもできます。


cgroupsを使用することは、他の人がコンピュータのすべてのCPUサイクルを独占するのを制限する優れた方法であることに同意します。悲しいことに、私がサポートするシステム(RHEL5)には、それをサポートするカーネルがないので、優先順位の調整を続ける必要があります。RHEL6に更新したら、かなり複雑なcgroups設定ができると確信しています。
jsbillings 2011年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.