Ubuntu : too many open files
Fermé
bkrqpzef
Messages postés
197
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
13 juillet 2011
-
27 avril 2009 à 23:33
dada - 22 févr. 2012 à 11:01
dada - 22 févr. 2012 à 11:01
A voir également:
- Ubuntu too many open files
- Ubuntu iso - Télécharger - Systèmes d'exploitation
- Many cam - Télécharger - TV & Vidéo
- Open core legacy patcher - Accueil - MacOS
- Ubuntu 24.04 - Accueil - Ubuntu
- Ubuntu 32 bits - Télécharger - Systèmes d'exploitation
10 réponses
Hikaru`
Messages postés
6
Date d'inscription
lundi 27 avril 2009
Statut
Membre
Dernière intervention
28 avril 2009
27 avril 2009 à 23:37
27 avril 2009 à 23:37
Bonsoir,
Ton programme est sensé ouvrir autant de fichier ? Cela ressemble joliement à une boucle infinie ça :o
Ton programme est sensé ouvrir autant de fichier ? Cela ressemble joliement à une boucle infinie ça :o
bkrqpzef
Messages postés
197
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
13 juillet 2011
5
27 avril 2009 à 23:47
27 avril 2009 à 23:47
Yo !!
Non pas de soucis du coté de la boucle infini ! :D
J'ai une variable que je peux modifier à souhait. Elle est responsable du nombre de boucles.
Au délà de 55 (valeur de la variable) l'erreur apparait.
Et ... Oui ce programme manipule beaucoup de fichiers.
Non pas de soucis du coté de la boucle infini ! :D
J'ai une variable que je peux modifier à souhait. Elle est responsable du nombre de boucles.
Au délà de 55 (valeur de la variable) l'erreur apparait.
Et ... Oui ce programme manipule beaucoup de fichiers.
Hikaru`
Messages postés
6
Date d'inscription
lundi 27 avril 2009
Statut
Membre
Dernière intervention
28 avril 2009
27 avril 2009 à 23:55
27 avril 2009 à 23:55
En relisant l'erreur renvoyée, il te dit qu'il y a trop de fichiers ouverts.
Alors, une fois de plus, sans ton code ou du moins sans explication sur ce que tu fais avec ton soft, je ne peux pas savoir : n'oublierais tu pas de fermer tes fichiers ?
Bon, si tu fais seulement des copies... c'est étonnant. 55 fichiers en train de se copier en même temps, j'ai jamais testé. Mais ça serait étonnant.
Il te faudrait dans ce cas là gérer une file d'attente non ? (au lieu de modifier une limite imposée par l'OS, probablement avec une bonne raison, et qui de plus ne pourra pas être modifiable chez les autres - dans le cas où tu distribues ton soft).
Alors, une fois de plus, sans ton code ou du moins sans explication sur ce que tu fais avec ton soft, je ne peux pas savoir : n'oublierais tu pas de fermer tes fichiers ?
Bon, si tu fais seulement des copies... c'est étonnant. 55 fichiers en train de se copier en même temps, j'ai jamais testé. Mais ça serait étonnant.
Il te faudrait dans ce cas là gérer une file d'attente non ? (au lieu de modifier une limite imposée par l'OS, probablement avec une bonne raison, et qui de plus ne pourra pas être modifiable chez les autres - dans le cas où tu distribues ton soft).
bkrqpzef
Messages postés
197
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
13 juillet 2011
5
28 avril 2009 à 00:02
28 avril 2009 à 00:02
Mon code fait dans les 2000 lignes et il est et sera uniquement utilisé par moi. :)
Il crée/supprime/multiplie de nombreux dossiers/fichiers etc...
Je ne peux pas alléger mon code, par contre j'aimerai bien réussir à le faire fonctionner sans être limité en écriture.
Il crée/supprime/multiplie de nombreux dossiers/fichiers etc...
Je ne peux pas alléger mon code, par contre j'aimerai bien réussir à le faire fonctionner sans être limité en écriture.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
28 avril 2009 à 00:13
28 avril 2009 à 00:13
Salut,
Il me semble que ça se passe avec ulimit -n
Que te renvoie cette commande ?
Tu peux modifier la valeur en effectuant : ulimit -n nb
Cdlt
Il me semble que ça se passe avec ulimit -n
Que te renvoie cette commande ?
Tu peux modifier la valeur en effectuant : ulimit -n nb
Cdlt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bkrqpzef
Messages postés
197
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
13 juillet 2011
5
28 avril 2009 à 00:24
28 avril 2009 à 00:24
bkrqpzef@bkrqpzef-power:~$ ulimit -n 1024 bkrqpzef@bkrqpzef-power:~$ ulimit -n 4096 bash: ulimit: open files : impossible de modifier la limite : Opération non permise bkrqpzef@bkrqpzef-power:~$ sudo ulimit -n 4096 sudo: ulimit: command not found
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
28 avril 2009 à 01:33
28 avril 2009 à 01:33
Tu dois modifier ton fichier /etc/security/limits.conf en root et rajouter :
Ensuite il faut que tu te déconnectes de ta session et reconnecte.
Ton ulimit -n devrait alors valoir le nombre que tu as rajouté dans le fichier.
Cdlt
* hard nofile nb
Ensuite il faut que tu te déconnectes de ta session et reconnecte.
Ton ulimit -n devrait alors valoir le nombre que tu as rajouté dans le fichier.
Cdlt
bkrqpzef
Messages postés
197
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
13 juillet 2011
5
28 avril 2009 à 01:51
28 avril 2009 à 01:51
Voici les 3 dernières lignes de /etc/security/limits.conf :
pourtant
reste à 1024 après déconnexion et même après reboot. :(
Je tente avec un nombre à la place de unlimited.
#@student - maxlogins 4 * hard nofile unlimited # End of file
pourtant
ulimit -n 1024
reste à 1024 après déconnexion et même après reboot. :(
Je tente avec un nombre à la place de unlimited.
bkrqpzef
Messages postés
197
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
13 juillet 2011
5
28 avril 2009 à 02:02
28 avril 2009 à 02:02
snif,
pareil avec
:
pareil avec
#@student - maxlogins 4 * hard nofile 4096 # End of file
:
ulimit -n 1024
bkrqpzef
Messages postés
197
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
13 juillet 2011
5
28 avril 2009 à 02:16
28 avril 2009 à 02:16
Résolu avec :
Merci.
Et maintenant je lance mon programme ...
Et ça tourne... jusqu'à 73 avec une belle erreur de segmentation. :D
En tout cas plus de "too many open files"
MERCI !!!! :p
* hard nofile 50000 * soft nofile 50000
Merci.
Et maintenant je lance mon programme ...
Et ça tourne... jusqu'à 73 avec une belle erreur de segmentation. :D
En tout cas plus de "too many open files"
MERCI !!!! :p
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
28 avril 2009 à 02:40
28 avril 2009 à 02:40
Pour mettre à unlimited, il me semble qu'il faut patcher le kernel pour pouvoir mettre RLIMIT_NOFILE à RLIM_INFINITY.
Enfin si ça marche avec 5000, c'est le principal ;-))).
Sinon pour l'erreur de segmentation, là, il s'agit sûrement de ton programme. Un petit coup de gdb te permettra de localiser la ligne plus facilement.
Cdlt
Enfin si ça marche avec 5000, c'est le principal ;-))).
Sinon pour l'erreur de segmentation, là, il s'agit sûrement de ton programme. Un petit coup de gdb te permettra de localiser la ligne plus facilement.
Cdlt