私は許可された開かれたファイルの数を増やす2つの異なる方法を読んでいました(重要な場合はrootを修正しようとしています)。
/etc/security/limits.conf
1つの方法は、次のように設定を更新することです。
* soft nofile 500000
* hard nofile 500000
root soft nofile 500000
root hard nofile 500000
アクティブシェルを設定するには、ulimit -n 500000
再起動やログアウト/ログインは必要ありませんが、サービスを再起動(?)する必要がある可能性があるように見えます。
別のオプションは、以下を更新することです/etc/sysctl.conf
。
echo 'fs.file-max = 500000' >> /etc/sysctl.conf
アクティブシェルを設定sysctl -p
するにはsysctl fs.file-max
。
だから私の質問の違いは何ですか?それを持って?オンライン中Ubuntu 14.04.2 LTS
答え1
違いは範囲と適用方法にあります。 sysctls で設定されたオープンファイルの制限はシステム全体に適用され、sysctls で設定された制限は/etc/security/limits.conf
ここで指定された条件を満たすコンテンツにのみ適用されます。もう1つの主な違いは、制限が/etc/security/limits.conf
ulimitを介して適用されるため、より簡単に変更できることですが、sysctl制限は本質的にカーネル自体にメモリ割り当て制限を設定することです。
通常、/etc/security/limits.conf
ワイルドカードの一致を設定しても、ほとんど常にグローバル制限を使用したいと思います。なぜなら、これはより信頼性が高く、カーネルメモリ割り当て制限に直面するよりもulimit制限に直面するとき、通常はより正常に失敗するからです。