Cet article explique comment modifier les limites ulimit telles que le nombre maximal de fichiers ouverts pour un service systemd. Dans un système CentOS/RHEL 7 ou 8, les modifications effectuées dans /etc/security/limits.conf ou /etc/security/limits.d/ n'ont aucun effet sur les services systemd.
Systemd ignore délibérément les paramètres ulimit à l'échelle du système afin de minimiser les modifications de limite involontaires ou inattendues causées par les profils et les scripts du shell.
Vous pouvez définir une nouvelle limite maximale de fichiers ouverts pour un service particulier, par exemple, comme ceci :
1. Identifiez le nom.service fichier que vous voulez dans /usr/lib/systemd/system .
2. Copiez ce fichier dans /etc/systemd/system répertoire.
3. Modifiez le fichier copié dans /etc/systemd/system et ajoutez la ligne :
LimitNOFILE=2048
4. Redémarrez le service :
# systemctl restart [service name]
Mettre à jour les valeurs ulimit globalement pour tous les services systemd
Alternativement, vous pouvez mettre à jour la même limite pour TOUS les services systemd comme ceci :
1. Modifier /etc/systemd/system.conf et décommentez la ligne "#DefaultLimitNOFILE=", en ajoutant le nombre souhaité.
2. Redémarrez le système :
# systemctl reboot