rootユーザーのulimitを決定する


8

rootユーザーの最大オープンファイル記述子を増やしたと考えています。これは、次の行を/etc/security/limits.confに追加することで行われました。

*         -    nofile            2048

アプリケーション(solr-rootによって実行される)が1098ファイルを開いていることがわかるため(ここでは説明しません)、rootユーザーの制限が増加したことを確認しました。ただし、rootユーザーが許可されている開いているファイルの数を確認することはできません。このコマンドが機能することを期待しますが、そうではありません:

$ sudo -u root -s "ulimit -Sn"
1024

何か案は?ありがとう!


limits.confにnofileの他のエントリーはありますか?オーバーライドされている可能性があります。limits.confの解析エラーの可能性についてはどうでしょうか。ファイル全体を添付できますか?
Andrew Case

selinuxを実行していますか?ls -lZ /etc/security/limits.conf
Andrew Case

回答:


6

solr実行中のプロセスのPIDを取得しcat /proc/$SOLR_PID/limitsます。これにより、プロセスの実際の制限がわかります。

solr権限のない別のユーザーとして実行することをお勧めします。これを行う場合、複数のオプションがあります(limits.confまたはulimit -n 2048initスクリプトにを追加するなど)。最後のものはそれほど光沢はありませんが、クイック設定とデーモンの再起動に役立ちます

RANT:サービスを失うので、再起動できないと言わないでください。その場合は、とにかくHAをセットアップする必要があります。


5

で開いているファイルの数を変更した後/etc/security/limits.conf、ユーザーはログアウトしてから再度ログインして有効にする必要があります。だから、これを試してください:

$ sudo su -
# ulimit -Sn

2

この質問には答えがありますが、実際の解決策ではなく、回避策のように見えます。

ubuntuによると、これはバグではなくドキュメントの問題です。https//bugs.launchpad.net/ubuntu/+source/pam/+bug/65244を参照してください

ご報告いただきありがとうございます。あなたが言ったように、これはpamのバグではなく、ドキュメントの問題です。ユーザーrootの制限を明示的に許可するという事実は少し前(2000年8月30日)に対処されましたが、制限を適用するにはユーザーrootに明示的に名前を付ける必要があります。

したがって、rootユーザーを含むすべてのユーザーのulimitを変更する場合は、指定する必要があります。

*         -    nofile            2048
root      -    nofile            2048
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.