ulimit stelt limieten in op de resources die een proces of gebruiker mag gebruiken: aantal open bestanden, maximale geheugengrootte, CPU-tijd en meer. Dit voorkomt dat één proces het systeem volledig kan verzadigen.
Elke limiet heeft twee niveaus:
| Type | Uitleg |
|---|---|
| Soft limit | Actieve limiet — een proces mag dit zelf verhogen tot de hard limit |
| Hard limit | Bovengrens — alleen root mag dit verhogen |
ulimit -a # alle limieten van de huidige shell
ulimit -n # maximaal aantal open bestanden
ulimit -u # maximaal aantal processen
ulimit -n 65535 # open bestanden verhogen (voor deze sessie)
Permanent instellen doe je in /etc/security/limits.conf:
dexter soft nofile 65535
dexter hard nofile 65535
Applicaties als databases en webservers (nginx, MySQL) openen veel gelijktijdige verbindingen. De standaard limiet voor open bestanden (nofile) is vaak te laag en moet verhoogd worden — anders loopt de applicatie vast met Too many open files.