python Ubuntu: слишком много открытых файлов [eventpoll] - PullRequest
0 голосов
/ 12 мая 2018

По сути, это многопоточная программа-обходчик, которая в основном использует запросы. После запуска программы в течение нескольких часов я получаю сообщение об ошибке «Слишком много открытых файлов».

Запустив: lsof -p pid , я увидел огромное количество записей, как показано ниже:

python 75452 xxx 396u a_inode 0,11 0 8121 [eventpoll]

Я не могу понять, что это такое и как отследить проблему. Ранее я пытался запустить его в Windows и никогда не видел эту ошибку. Есть идеи, как продолжить расследование этой проблемы? спасибо.

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Я выяснил, что это вызвано Gevent.После замены gevent на multi-thread все в порядке.

Однако я до сих пор не знаю, что не так с gevent, который продолжает открывать новые файлы (eventpoll).

0 голосов
/ 14 мая 2018

Вы уверены, что поведение в Windows действительно отличается от Ubuntu? В частности, я думаю, что Windows позволяет открывать 2048 файлов и что стандартный ulimit в Ubuntu - 1024. Я могу представить себе сканер, открывающий 1024

Я не запускаю Windows, поэтому я могу ошибаться насчет 2048. Но форумы Ubuntu могут помочь вам добраться до 2048. См. https://askubuntu.com/questions/162229/how-do-i-increase-the-open-files-limit-for-a-non-root-user

Если вам нужно> 2048, то, возможно, есть проблема ... Надеюсь, это поможет.

...