web-dev-qa-db-ja.com

Linuxでの「ソフト/ハードnofile」の意味

RedHat EL5にソフトウェアをインストールしようとすると、soft/hard nofileの期待値が4096で、デフォルトは1024であるというエラーが発生しました。なんとか数値を増やしましたが、パラメーターがわかりません。彼らはソフトリンクとハードリンクを指していますか?

私がそれを変更する方法は:

A)/etc/security/limits.confを変更します

user soft nofile 5000
user hard nofile 6000

B)/etc/pam.d/system-authを変更します

session required /lib/security/$ISA/pam_limits.so

C)/etc/pam.d/loginを変更します

session required pam_limits.so

変更後(rootに切り替えて)。有効にするにはマシンを再起動する必要があるようです。しかし、一部のオンライン投稿では、変更を加えた直後に有効になるはずだと述べています。誰かがそれを明確にすることができれば幸いです。

20
Frank Fu

これらは、プロセスが一度に開くことができるファイル数の「ソフト」および「ハード」制限です。どちらも同じリソースを制限します(ハードリンクなどとは関係ありません)。違いは、これらの制限で実行されているプロセスによって、ソフト制限が後でハード制限値まで変更される可能性があり、ハード制限を下げることができるだけである–プロセスは、ハード制限を増やすことでそれ以上のリソースを割り当てることができない(実行中のプロセスを除く)スーパーユーザー権限で(rootとして))。

他のシステムリソースにも同様の制限を設定できます。システムメモリ、CPU時間などです。setrlimit(2)マニュアルページまたはシェルのulimitビルトインコマンドの説明(例:bash(1)マニュアルページ。

34
Jacek Konieczny

再起動は必要ありませんが、/ etc/security/limits.confは、ログイン時に/lib/security/pam_limits.soが実行されたときにのみ処理され、値は子プロセスによって継承されます。新規ログイン後、そのログインの下にあるものはすべて指定された値を継承します。

4
Chris

補足として、一部のディストリビューションには/etc/security/limits.d制限設定の「スニペット」を配置できる場所。次のようなファイルを作成できます。

$ ll /etc/security/limits.d/
-rw-r--r--. 1 root root 191 Aug 18 10:26 90-nproc.conf
-rw-r--r--  1 root root  70 Sep 29 12:54 90-was-filedesc.conf

設定したい制限を含むファイル:

$ more /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     1024
root       soft    nproc     unlimited

$ more /etc/security/limits.d/90-was-filedesc.conf
root       hard    nofile    20000

このメソッドを使用して、これらのタイプのオーバーライドを管理するために、/etc/security/limits.conf

また、ソフト/ハードの両方を同じ値に設定したい場合は、-をタイプとして。

$ more /etc/security/limits.d/90-was-filedesc.conf
root       -       nofile    20000
2
slm