首頁 繪圖設計 工作閒聊 比賽活動 美術討論 標籤 圖片
"Too many open files" in Google API "guzzle" guzzlehttp ConnectException.php
"Too many open files" in Google API "guzzle" guzzlehttp ConnectException.php


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)
[更多討論] 討論區 Windows, Linux, Perl, PHP, C/C++, Driver, Web 理論、應用、硬體、軟體

""Too many open files" in Google API "guzzle" guzzlehttp ConnectException.php" 傳統頁面(電腦版)

首頁 繪圖設計 工作閒聊 比賽活動 美術討論 標籤 圖片
傳統桌面版 [ 登入/註冊 ]
© Vovo2000.com Mobile Version 小哈手機版 2024