IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

Debian et les file descriptors


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 30
    Par défaut Debian et les file descriptors
    Salut à tous,

    Depuis quelques jours je tente désesperement d'augmenter le nombre des 'file descriptors' mais en vain, j'ai bien suivi ce tuto mais la valeur reste figé sur 1024 sans aucun changement et pourtant mon limits.conf est correct

    * soft nofile 4096
    * hard nofile 63536
    Par contre avec ulimit -n 4096 ça marche et ça m'affiche la valeur 4096 mais sans aucun effet sur les applications et dès que je quitte la console tout s'efface.

    Je pense qu'il y a quelque chose bloque le système pour allouer les fds, à votre avis d'où peut venir le problème ?

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    La commande ulimit ne change les limits que pour le shell courant. Elle n'a donc d'effet que pour les applications qui seront lancées dans le shell courant. Il est donc normal que tes changements soient perdus lorsque tu fermes ton shell. Il est également normal que le comportement de ton application ne change pas, si tu ne l'as pas lancée depuis un shell qui avait les bonnes limites.

    Le fichier limits.conf n'est pris en compte que quand PAM passe dans le module pam_limits, ce qui arrive par exemple quand tu t'authentifies ou que tu fais un su. Et là encore les limites ne sont valables que pour les nouvelles sessions.

  3. #3
    Membre averti
    Inscrit en
    Août 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 30
    Par défaut
    Citation Envoyé par matafan Voir le message
    La commande ulimit ne change les limits que pour le shell courant. Elle n'a donc d'effet que pour les applications qui seront lancées dans le shell courant. Il est donc normal que tes changements soient perdus lorsque tu fermes ton shell. Il est également normal que le comportement de ton application ne change pas, si tu ne l'as pas lancée depuis un shell qui avait les bonnes limites.

    Le fichier limits.conf n'est pris en compte que quand PAM passe dans le module pam_limits, ce qui arrive par exemple quand tu t'authentifies ou que tu fais un su. Et là encore les limites ne sont valables que pour les nouvelles sessions.
    Merci pour tes explications.

    Je viens d'essayer de rajouter les lignes :

    * soft nofile 4096
    * hard nofile 63536
    Dans limits.conf et même lorsque je fais ulimit -n sur la même session ou que je relance la console ou bien que je reboote totalement le système ça ne marche pas et j'ai toujours la valeur par défaut 1024

    Par contre j'ai essayé sur un autre pc (Debian Lenny) les mêmes manipulations :

    1. Ajouter les limites * soft et hard dans le limits.conf
    2. Sauvegarder le fichier
    3. Relancer la console de nouveau (rien aucun effet toujours 1024)
    4. Mais en redémarrant totalement le système (reboot) là le petit debian m'affiche bel et bien la valeur 4096.


    Pourquoi sur ce dernier ça marche et sur l'autre non ?

    Je pense qu'il y a un truc qui bloque l'augmentation des fds sur l'autre système mais quoi ?

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    Le PC sur lequel ça ne marche pas n'utilise peut-être pas PAM, ou PAM n'est peut-être pas configuré pour setter les limites. Est-ce que tu as un fichier /etc/limits ?

  5. #5
    Membre averti
    Inscrit en
    Août 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 30
    Par défaut
    Citation Envoyé par matafan Voir le message
    Le PC sur lequel ça ne marche pas n'utilise peut-être pas PAM, ou PAM n'est peut-être pas configuré pour setter les limites. Est-ce que tu as un fichier /etc/limits ?
    je n'ai aucun fichier limits dans /etc/ mais plutôt dans /etc/security/limits.conf

    Et voici son contenu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    # /etc/security/limits.conf
    #
    #Each line describes a limit for a user in the form:
    #
    #<domain>        <type>  <item>  <value>
    #
    #Where:
    #<domain> can be:
    #        - an user name
    #        - a group name, with @group syntax
    #        - the wildcard *, for default entry
    #        - the wildcard %, can be also used with %group syntax,
    #                 for maxlogin limit
    #        - NOTE: group and wildcard limits are not applied to root.
    #          To apply a limit to the root user, <domain> must be
    #          the literal username root.
    #
    #<type> can have the two values:
    #        - "soft" for enforcing the soft limits
    #        - "hard" for enforcing hard limits
    #
    #<item> can be one of the following:
    #        - core - limits the core file size (KB)
    #        - data - max data size (KB)
    #        - fsize - maximum filesize (KB)
    #        - memlock - max locked-in-memory address space (KB)
    #        - nofile - max number of open files
    #        - rss - max resident set size (KB)
    #        - stack - max stack size (KB)
    #        - cpu - max CPU time (MIN)
    #        - nproc - max number of processes
    #        - as - address space limit (KB)
    #        - maxlogins - max number of logins for this user
    #        - maxsyslogins - max number of logins on the system
    #        - priority - the priority to run user process with
    #        - locks - max number of file locks the user can hold
    #        - sigpending - max number of pending signals
    #        - msgqueue - max memory used by POSIX message queues (bytes)
    #        - nice - max nice priority allowed to raise to values: [-20, 19]
    #        - rtprio - max realtime priority
    #        - chroot - change root to directory (Debian-specific)
    #
    #<domain>      <type>  <item>         <value>
    #
     
    #*               soft    core            0
    #root            hard    core            100000
    #*               hard    rss             10000
    #@student        hard    nproc           20
    #@faculty        soft    nproc           20
    #@faculty        hard    nproc           50
    #ftp             hard    nproc           0
    #ftp             -       chroot          /ftp
    #@student        -       maxlogins       4
     
    *        soft    nofile          409
    *        hard    nofile          63536
     
    # End of file

  6. #6
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    La commande suivante te donne quoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep pam_limits /etc/pam.d/*

Discussions similaires

  1. [MQ] Lister les file d'attentes
    Par TslH0 dans le forum Websphere
    Réponses: 1
    Dernier message: 28/12/2006, 11h46
  2. Coment obtenir le nombre total de file descriptor ouvert?
    Par homeostasie dans le forum Réseau
    Réponses: 7
    Dernier message: 21/06/2006, 12h55
  3. apache on debian ignores les images
    Par mariogarcia dans le forum Apache
    Réponses: 1
    Dernier message: 23/05/2006, 09h32
  4. Bad file descriptor avec un read()
    Par je®ome dans le forum C
    Réponses: 2
    Dernier message: 04/04/2006, 20h30
  5. Etrange "Bad file descriptor"
    Par amauryxiv dans le forum Langage
    Réponses: 23
    Dernier message: 01/02/2006, 04h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo