Maison > développement back-end > Tutoriel Python > Message d'erreur Python : [Errno 24] Analyse et solution du trop grand nombre de fichiers ouverts

Message d'erreur Python : [Errno 24] Analyse et solution du trop grand nombre de fichiers ouverts

高洛峰
Libérer: 2017-02-18 10:10:21
original
2659 Les gens l'ont consulté

Contexte

J'ai récemment découvert une erreur au travail lors de l'exécution d'un script d'analyse multithread, l'erreur suivante s'est fréquemment produite

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;,))
Copier après la connexion

C'est bizarre...

Analyse

Certains petits projets entre les mains du blogueur nécessitent souvent du multi-threading Batch analyser pour collecter des données. Pour des fonctions telles que la collecte de données, plus il y a de threads, mieux c'est, donc j'utilise généralement 3 000 threads pour l'analyse. Après m'être assuré que la bande passante est suffisante et que la configuration matérielle du système est suffisamment élevée, les problèmes ci-dessus se produisent. je me demande si cela est dû aux limitations du système.

J'ai trouvé une introduction aux limitations du système via le moteur de recherche Lorsque j'ai exécuté

$ ulimit -n
1024
Copier après la connexion

, le résultat était 1024, et le résultat était 1024. La limite du système est d'ouvrir simultanément 1024 fichiers, ce qui est évidemment trop peu.

Solution

La solution à ce problème est très simple, modifiez directement le fichier suivant

sudo vim /etc/security/limits.conf
Copier après la connexion

Ajoutez deux lignes de code à la fin de ce fichier

* soft nofile 10240
* hard nofile 10240
Copier après la connexion

Bien sûr, vous pouvez modifier ce numéro en fonction de votre besoins, enregistrez-le. Déconnectez-vous et reconnectez-vous.

Plus de messages d'erreur Python : [Errno 24] Analyse et résolution de Trop de fichiers ouverts Pour les articles connexes, veuillez faire attention au site Web PHP chinois !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal