quote="man bash"
ulimit [-SHacdflmnpstuv [limit]]
Provides control over the resources available to the shell and to processes started by it, on systems that
allow such control. The -H and -S options specify that the hard or soft limit is set for the given
resource. A hard limit cannot be increased once it is set; a soft limit may be increased up to the value of
the hard limit. If neither -H nor -S is specified, both the soft and hard limits are set. The value of
limit can be a number in the unit specified for the resource or one of the special values hard, soft, or
unlimited, which stand for the current hard limit, the current soft limit, and no limit, respectively. If
limit is omitted, the current value of the soft limit of the resource is printed, unless the -H option is
given. When more than one resource is specified, the limit name and unit are printed before the value.
Other options are interpreted as follows:
-a All current limits are reported
-c The maximum size of core files created
-d The maximum size of a process’s data segment
-f The maximum size of files created by the shell
-l The maximum size that may be locked into memory
-m The maximum resident set size
-n The maximum number of open file descriptors (most systems do not allow this value to be set)
-p The pipe size in 512-byte blocks (this may not be set)
-s The maximum stack size
-t The maximum amount of cpu time in seconds
-u The maximum number of processes available to a single user
-v The maximum amount of virtual memory available to the shell
If limit is given, it is the new value of the specified resource (the -a option is display only). If no
option is given, then -f is assumed. Values are in 1024-byte increments, except for -t, which is in sec-
onds, -p, which is in units of 512-byte blocks, and -n and -u, which are unscaled values. The return status
is 0 unless an invalid option or argument is supplied, or an error occurs while setting a new limit.
(…)[/quote]
ulimit est censé te permettre de contrôler les plafond d’utilisation des ressources du shell dans lequel tu le lances.
-n comme tu t’y attendais, limite le nombre de fichiers ouverts en même temps.
Mais attention, les valeurs par défaut sont raisonnables. Tu peux les augmenter si tu veux, mais ne le fais que pour le processus apache (fais le dans le script de lancement d’apache).
AMA, d’ailleurs, tu l’a fait temporairement, et ca va disparaitre au redémarrage:
tu etais dans un shell ou tu a fait un “ulimit -n 32768”, puis tu as relancé ton apache qui profite de ta valeur haute de ulimit -n, mais dés que tu va redémarrer, ton apache va démarrer dans un shell avec ulimit -n 1024, et tu va retrouver tes problêmes.