首頁  >  文章  >  後端開發  >  Python錯誤提示:[Errno 24] Too many open files的分析與解決

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

高洛峰
高洛峰原創
2017-02-18 10:10:212543瀏覽

背景

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

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中文網!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn