web-dev-qa-db-ja.com

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

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

*         -    nofile            2048

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

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

何か案は?ありがとう!

8
andersonbd1

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

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

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

6
Martin M.

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

$ Sudo su -
# ulimit -Sn
5
quanta

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

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

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

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

*         -    nofile            2048
root      -    nofile            2048
2
Zunderscore