Vous pouvez toujours essayer de faire un ulimit -n 2048
. Cela ne réinitialisera la limite que pour votre shell actuel et le nombre que vous spécifiez ne doit pas dépasser la limite stricte.
Chaque système d'exploitation a une limite dure différente configurée dans un fichier de configuration. Par exemple, la limite dure des fichiers ouverts sur Solaris peut être définie au démarrage à partir de /etc/system.
set rlim_fd_max = 166384
set rlim_fd_cur = 8192
Sous OS X, ces mêmes données doivent être définies dans /etc/sysctl.conf.
kern.maxfilesperproc=166384
kern.maxfiles=8192
Sous Linux, ces paramètres se trouvent souvent dans /etc/security/limits.conf.
Il existe deux types de limites :
-
doux les limites sont simplement les limites actuellement appliquées
-
dur limites marquent la valeur maximale qui ne peut pas être dépassée en fixant une limite souple.
Les limites souples peuvent être fixées par n'importe quel utilisateur, tandis que les limites strictes ne peuvent être modifiées que par Root. Les limites sont une propriété d'un processus. Elles sont héritées lors de la création d'un processus enfant donc les limites à l'échelle du système doivent être définies lors de l'initialisation du système dans init scripts et les limites de l'utilisateur doivent être définies lors de la connexion de l'utilisateur par exemple en utilisant pam_limits.
Des valeurs par défaut sont souvent définies au démarrage de la machine. Ainsi, même si vous pouvez réinitialiser votre ulimit dans un shell individuel, vous pouvez constater qu'il se réinitialise à la valeur précédente lors du redémarrage. Vous pouvez rechercher les commandes ulimit existantes dans vos scripts de démarrage si vous voulez changer la valeur par défaut.