salut, désolé, je n'ai pas pu continuer le discussion hier, ... pblm familial ...

En gros,

j'ai un serveur de planification qui tourne sous linux et je vais lancer une base de test, la base de test contient différents état de ce serveur, les charge, et executes des opérations. Au final, on compare les résultats, donc pour chaque test, on remplace, et relance le serveur de planif ds un contexte bien particulier. L'outil permettant ces opération est un moniteur, il permet via un autre programme client de mettre en place chacun des contexte.

Voilà, si vous avez d'autres idée sur la manière d'outre passer ces limites, ca m'intéresse bcp !!!!


Merci
le file-max a été fixé à combien ?

le truc serait d'essayer différentes valeurs, par dichotomie... comme cela peut se faire à la volée, faut pas hésiter à essayer différentes valeurs

cat /proc/sys/fs/file-max

puis

echo "valeur" >/proc/sys/fs/file-max


The file-max file /proc/sys/fs/file-max sets the maximum number of file-handles that the Linux kernel will allocate. We generally tune this file to improve the number of open files by increasing the value of /proc/sys/fs/file-max to something reasonable like 256 for every 4M of RAM we have: i.e. for a machine with 128 MB of RAM, set it to 8192 - 128/4=32 32*256=8192.


Sinon voir aussi lsof comme outil de diagnostique
il serait sans doute plus propre de passer pas la commande sysctl
# sysctl -a | grep file-max
fs.file-max = 359557
Pas exemple avec Oracle il peut être nécessaire l'augmenter...

Et pour la modifier, le mieux (après un test) et de modifier le fichier /etc/sysctl.conf.

++

P.S. enfin si la valeur est déjà importante, il faudrait se poser la question de pourquoi cette limite est dépassée (et lsof est effectivement utile)
j'avais déjà ces 2 manières de faire avec cat valeur > /proc/fs/file-max et sysctl , mais pas avec lsof je vais regarder, merci !
lsof me retourne ceci :
monitKern 3377    root  txt    REG        3,1  3217700    483703 /home/partage/_BASERUN/linux/monitKernel
où 3217700 est SIZE et 483703 est NODE, ne serai-ce pas ces valeur là qu'il faudrait toucher ? pcq j'ai beau augmenter ma valeur fs.file-max, celà ne change rien ...

Comment changer ces valeurs sur le node et size ?
Je ne pense pas que celà vienne de lataille (Size), au vu de ce que me retourne ulimit :
ulimit -a
core file size        (blocks, -c) 0
data seg size         (kbytes, -d) unlimited
file size             (blocks, -f) unlimited
max locked memory     (kbytes, -l) 4
max memory size       (kbytes, -m) unlimited
open files                    (-n) 1024
pipe size          (512 bytes, -p) 8
stack size            (kbytes, -s) 10240
cpu time             (seconds, -t) unlimited
max user processes            (-u) 4094
virtual memory        (kbytes, -v) unlimited
file size est à unlimited ..., par contre pourquoi open files reste à 1024 ??? alors que vi sysctl, la valeur retournée est celle que j'ai précisé ?
Je crois que :
ulimit décrit les limites attribuées à un processus SHELL et aux processus qui en héritent.
sysctl est un nombre maximum pour le système (tous processus confondus) .

ulimit ne sert pas qu'a modifier la taille maximum d'un fichier (extrait du man de bash)
-a   affichage de toutes les limites actuelles 
-c   la taille maximale pour la création d'un fichier core 
-d   la taille maximale du segment de données d'un processus 
-e   la priorité d'ordonnancement maximum (« nice ») 
-f    la taille maximale d'un fichier écrit par le shell et ses fils 
-i    le nombre maximal de signaux en attente 
-l    la taille maximale que l'on peut verrouiller en mémoire 
-m  la taille maximale de la partie résidente d'un processus 
-n   le nombre maximal de descripteurs de fichiers ouverts (la plupart des systèmes ne permettent pas de modification) 
-p   La taille d'un tuyau (pipe) en blocs de 512 octets (parfois non modifiable) 
-q   le nombre maximal d'octets dans les files de message POSIX 
-r    la priorité d'ordonnancement temps réel maximum 
-s    la taille maximale de la pile 
-t    la durée maximale, en seconde, de temps CPU accordé à un processus. 
-u    le nombre maximal de processus autorisés pour un seul utilisateur 
-v    la quantité de mémoire virtuelle disponible pour le shell 
-x    le nombre maximum de verrouillages fichiers
Es-tu sûr d'avoir besoin de plus de 1024 fichiers ouverts en même temps dans un seul processus.
oui j'ai un gros besoin d'ouvrir tout ces fichiers. Ce processus de test tourne sous windows, et pour tester notre serveur sous linux, il nous faut cette même procédure, qui a fonctionné auparavant.

Pour NODE, comment augmenter cette valeur ?
Mais dans la trace que tu as faite on ne dépasse pas 10 fichiers ouverts.