Type(Type) 2023/3/5 00:50
Possible Symptoms
代碼:
# You use compser to install Google Cloud API but you will see a lot of CLOSE_WAIT pending when doing "lsof" connect to "1e100.net"
# and then, these CLOSE_WAIT + (ESTABLISHED) will be exceed 1024
# Very likely you will see Too many open files.
$ lsof | grep -i '1e100.net'
php TCP YOUR_HOSTNAME:36144->nuq04s42-in-x0a.1e100.net:https (CLOSE_WAIT)
php TCP YOUR_HOSTNAME:36152->nuq04s42-in-x0a.1e100.net:https (CLOSE_WAIT)
php TCP YOUR_HOSTNAME:36156->nuq04s42-in-x0a.1e100.net:https (CLOSE_WAIT)
php TCP YOUR_HOSTNAME:36160->sfo03s24-in-x0a.1e100.net:https (CLOSE_WAIT)
php TCP YOUR_HOSTNAME:36160->sfo03s24-in-x0a.1e100.net:https (CLOSE_WAIT)
PHP Warning: include(/YOUR-WORKING-FOLDER/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php): Failed to open stream: Too many open files in /YOUR-WORKING-FOLDER/vendor/composer/ClassLoader.php on line 571
PHP Warning: include(): Failed opening '/YOUR-WORKING-FOLDER/vendor/composer/../guzzlehttp/guzzle/src/Exception/ConnectException.php' for inclusion (include_path='.:/usr/share/php') in /YOUR-WORKING-FOLDER/vendor/composer/ClassLoader.php on line 571
PHP Fatal error: Uncaught Error: Class "GuzzleHttp\Exception\ConnectException" not found in /YOUR-WORKING-FOLDER/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:210
$ cat /proc/YOUR_SCRIPT_PID/limit | grep -i 'max open files'
✅ Max open files 1024 1024 files
Workaround / Solution
Just increase the ulimit.
代碼:
$ vi /etc/security/limits.conf
# -------------------------------------
# ADD the following lines, increase the value from 1024 to "16384" or more
# -------------------------------------
* hard nofile 16384
* soft nofile 16384
root hard nofile 16384
root soft nofile 16384
$ reboot
$ cat /proc/YOUR_SCRIPT_PID/limit | grep -i 'max open files'
✅ Max open files 16384 16384 files
(5,790 views)
© Vovo2000.com Mobile Version 小哈手機版 2024