回答:
オプション1: ソフトリミットを高く設定しませんでした。
可能な解決策:
/etc/security/limits.confに追加
* soft nofile 2048
でテストする
ulimit -n 2048
オプション2: ユーザーとしてログインし、「config」ファイル(プロファイル、bashrcなど)でソフト制限が低い値に設定されます。
etcフォルダーおよび/またはホームフォルダーのulimitの可能なソリューションfe grep。
警告:そこにあるファイル/ディレクトリの量に応じて、特定のディレクトリ/ファイルのみを検討することができます。
シモンズ:あなたが読んでみたいかもしれない似たような質問がたくさんあります。
特別なハード制限とソフト制限
詳細を詳しく説明する可能性のある他のソリューションについては、こちらをご覧ください Too Many Open Files
Debianにはバグがあります。増やすulimit
には、これを/etc/pam.d/common-session
ファイルに追加する必要があります。
session required pam_limits.so
そして、で/etc/security/limits.conf
追加:
* soft nofile 65535
* hard nofile 65535
その後、システムを再起動します。
/etc/pam.d/common-session
ファイルを変更する必要はありません。limits.conf
ファイルに他の2行を追加するだけで機能しました:
*
ワイルドカードは機能しませんroot
。のroot
代わりに追加しましたが*
、機能しています。ありがとうございました!
Debian 10上のApacheの私の場合、これは機能しましたが、上記は役に立ちませんでした:
echo "APACHE_ULIMIT_MAX_FILES='ulimit -n 16384'" >> /etc/apache2/envvars
service apache2 restart
私はチェックしました:
cat /proc/$pid/limits
..where $pid
は、Apacheプロセスの1つのプロセスIDです。