rootユーザーのオープンファイル記述子の最大数を増やしたと考えています。これは、次の行を/etc/security/limits.confに追加することで行われました。
* - nofile 2048
アプリケーション(solr-rootによって実行される)が1098個のファイルを開いていることがわかるため(ここでは説明しません)、rootユーザーの制限が増加したことを確認しました。ただし、rootユーザーが許可されている開いているファイルの数を確認することはできません。私たちはこのコマンドが機能することを期待しますが、そうではありません:
$ Sudo -u root -s "ulimit -Sn"
1024
何か案は?ありがとう!
solr
が実行しているプロセスのPIDを取得し、次にcat /proc/$SOLR_PID/limits
を取得します。これにより、プロセスの実際の制限がわかります。
solr
のようなものを、権限のない独立したユーザーとして実行することをお勧めします。これを行う場合、複数のオプション( limits.conf を指定するか、ulimit -n 2048
を初期化スクリプトに追加します。 ..)。最後のものはそれほど光沢はありませんが、クイック設定とデーモンの再起動に役立ちます
RANT:サービスが失われるため、再起動できないと言わないでください。その場合は、とにかくHAをセットアップする必要があります。
/etc/security/limits.conf
で開いているファイルの数を変更した後、ユーザーはログアウトしてから再度ログインして有効にする必要があります。だから、これを試してください:
$ Sudo su -
# ulimit -Sn
この質問には答えがありますが、実際の解決策ではなく、回避策のように見えます。
Ubuntuによると、これはバグではなくドキュメントの問題です。次を参照してください https://bugs.launchpad.net/ubuntu/+source/pam/+bug/65244
ご報告ありがとうございます。あなたが言ったように、これはpamのバグではなく、ドキュメントの問題です。ユーザーrootの制限を明示的に許可するという事実は少し前(2000年8月30日)に対処されましたが、制限を適用するにはユーザーrootに明示的に名前を付ける必要があります
したがって、rootユーザーを含むすべてのユーザーのulimitを変更する場合は、指定する必要があります。
* - nofile 2048
root - nofile 2048