web-dev-qa-db-fra.com

Qu'est-ce qu'un plafond ulimit sécurisé?

Ceci est la sortie de ulimit -a

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 16382
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Il s’agit d’une installation 64 bits, et j’aimerais augmenter le nombre maximum de fichiers ouverts de 1024 à une limite plus importante, telle que 5000. Est-ce que ce sera un problème? Cela causera-t-il de l'instabilité?

Merci.

7
theTuxRacer

max-open est le nombre de fichiers qu'un utilisateur peut garder ouverts dans ne seule session simultanément.

Veuillez également noter que tous les paramètres de limite sont définis par connexion. Ils ne sont pas globaux, ni permanents. existant que pour la durée de la session.

(de man limits.conf (5))

La valeur sûre pour un nombre maximal de dépend de votre utilisation. Point avec des valeurs par défaut est d'empêcher le déni de services trivial (accidentel). Il existe également une limite globale pour le nombre de fichiers ouverts:

cat /proc/sys/fs/file-max

Vous pouvez modifier ce nombre en exécutant par exemple

echo 100000 > /proc/sys/fs/file-max

(avec l'utilisateur root, évidemment). Encore mieux, ajoutez également la ligne fs.file-max = 10000 à /etc/sysctl.conf pour charger le même paramètre après le redémarrage.


À partir de ulimit: il est prudent d’augmenter ce nombre. Cependant, le nombre de fichiers ouverts ne doit pas dépasser global file-max, car il n'est plus possible d'ouvrir de nouveaux fichiers (et par exemple, la connexion nécessite l'ouverture de fichiers).

S'il y a plusieurs utilisateurs, rappelez-vous que si vous modifiez la valeur par défaut, tout le monde peut ouvrir plus de fichiers. Par exemple, 30 utilisateurs * 5000 fichiers = 150 000 fichiers ouverts (en supposant que tout le monde ouvre un nombre maximal de fichiers et n’utilise qu’une session). Si vous avez un logiciel vraiment gourmand en ressources (car il ouvre de très nombreux fichiers) utilisé par plusieurs utilisateurs, cela peut poser problème.

3
Olli