我有一个在 Linux 上运行的 Python 2.7 脚本,它与IOError: [Errno 24] Too many open files
. 当我运行lsof -p <script_pid>
以查看脚本打开了哪些文件时,我看到越来越多的anon_inode
文件。
eventlet
此脚本首先使用并发从 S3 下载文件。multiprocessing.dummy
然后它使用多线程处理下载的文件。我已经单独运行了多线程代码,发现当我为 eventlet 包含以下猴子补丁时,它只会泄漏文件描述符:
patcher.monkey_patch(thread=False)
任何关于我如何解决这个问题的想法都将不胜感激!