Python錯誤提示:[Errno 24] Too many open files的分析與解決

高洛峰
發布: 2017-02-18 10:10:21
原創
2554 人瀏覽過

背景

最近在工作中發現了一個錯誤,在執行多執行緒掃描腳本的時候頻繁出現下面這個錯誤

HTTPConnectionPool(host=‘t.tips&#39;, port=80): Max retries exceeded with url: /index.php (Caused by NewConnectionError(&#39;<requests.packages.urllib3.connection.HTTPConnection object at 0x7f29d4081150>: Failed to establish a new connection: [Errno 24] Too many open files&#39;,))
登入後複製

比較詭異...
自己手上的一些小項目經常需要進行多線程的批量掃描來採集數據,像採集數據這種功能當然是線程越多越好了,所以通常情況下我都是使用3000 個線程進行掃描,在確定頻寬充足,系統硬體配置夠高的情況下仍會出現上述問題,這就讓我想到是不是因為系統的限制問題。

透過搜尋引擎我找到了關於系統限制的介紹,執行

$ ulimit -n
1024
登入後複製

得到的結果是1024,系統限制為同時開啟1024個文件,這顯然是太少了。

解決

這個問題的解決方法很簡單,直接修改下面的文件

sudo vim /etc/security/limits.conf
登入後複製

最這個文件的最後一個數字嗎

需要進行修改即可,儲存後登出重新登入就好了。

更多Python錯誤提示:[Errno 24] Too many open files的分析與解決相關文章請關注PHP中文網!


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!