Précédent   Forum des professionnels en informatique > Systèmes > Linux > Système
Système Vos questions autour de l'administration système
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/09/2011, 01h23   #1
Candidat au titre de Membre du Club
 
Inscription : août 2008
Messages : 30
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 30
Points : 12
Points : 12
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

Citation:
* 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 ?
BOTEN ANNA est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/09/2011, 14h04   #2
Membre Expert
 
Homme
Ingénieur développement logiciels
Inscription : octobre 2008
Messages : 1 375
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

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

Informations forums :
Inscription : octobre 2008
Messages : 1 375
Points : 2 034
Points : 2 034
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.
matafan est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/09/2011, 03h05   #3
Candidat au titre de Membre du Club
 
Inscription : août 2008
Messages : 30
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 30
Points : 12
Points : 12
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 :

Citation:
* 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 ?
BOTEN ANNA est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/09/2011, 13h14   #4
Membre Expert
 
Homme
Ingénieur développement logiciels
Inscription : octobre 2008
Messages : 1 375
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

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

Informations forums :
Inscription : octobre 2008
Messages : 1 375
Points : 2 034
Points : 2 034
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 ?
matafan est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/09/2011, 13h32   #5
Candidat au titre de Membre du Club
 
Inscription : août 2008
Messages : 30
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 30
Points : 12
Points : 12
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 :
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
BOTEN ANNA est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/09/2011, 16h35   #6
Membre Expert
 
Homme
Ingénieur développement logiciels
Inscription : octobre 2008
Messages : 1 375
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

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

Informations forums :
Inscription : octobre 2008
Messages : 1 375
Points : 2 034
Points : 2 034
La commande suivante te donne quoi :
Code :
grep pam_limits /etc/pam.d/*
matafan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2011, 17h16   #7
Candidat au titre de Membre du Club
 
Inscription : août 2008
Messages : 30
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 30
Points : 12
Points : 12
Citation:
Envoyé par matafan Voir le message
La commande suivante te donne quoi :
Code :
grep pam_limits /etc/pam.d/*
Code :
1
2
3
4
5
[ ~] grep pam_limits /etc/pam.d/*
/etc/pam.d/cron:#session    required   pam_limits.so
/etc/pam.d/login:session    required   pam_limits.so
/etc/pam.d/sshd:#session    required     pam_limits.so
/etc/pam.d/su:# session    required   pam_limits.so
BOTEN ANNA est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h33.


 
 
 
 
Partenaires

Hébergement Web