objectif
Éviter les erreurs “Too many open files” en augmentant les limites souples/durables.
code minimal
# shell courant
ulimit -n 1048576
utilisation
# pour un service systemd (Override)
sudo systemctl edit mon.service <<'EOF'
[Service]
LimitNOFILE=1048576
EOF
sudo systemctl restart mon.service
# vérifier dans le process
cat /proc/$(pgrep -xo mon-binaire)/limits | awk '/open files/ {print}'
variante(s) utile(s)
# session utilisateur via /etc/security/limits.d/app.conf (PAM requis)
echo 'app soft nofile 1048576' | sudo tee /etc/security/limits.d/app.conf
echo 'app hard nofile 1048576' | sudo tee -a /etc/security/limits.d/app.conf
notes
- les limites via PAM s’appliquent aux sessions de connexion; systemd a sa propre directive
LimitNOFILE=. - vérifiez aussi
fs.file-maxsi nécessaire (sysctl).