Het ulimit
commando verandert alleen de limieten voor de huidige shell en zijn kinderen, en sudo ulimit
creëert een root shell, past zijn limieten aan, en sluit dan af (en heeft dus, voor zover ik kan zien, geen echt effect).
Om 12288 te overschrijden, moet je de kernel’s kern.maxfiles
en kern.maxfilesperproc
parameters aanpassen, en ook (tenminste volgens deze blog entry , wat een samenvatting is van deze discussie ) een launchd limiet. Je kunt launchctl limit
gebruiken om deze allemaal tegelijk aan te passen:
sudo launchctl limit maxfiles 1000000 1000000
Om dit permanent te maken (dus niet te resetten als je herstart), maak je /etc/launchd.conf
met daarin:
limit maxfiles 1000000 1000000
Dan kun je ulimit
gebruiken (maar dan zonder de sudo
) om je proceslimiet aan te passen.
Als dit het niet doet, kan het zijn dat je tegen grootte limieten aanloopt in de kernel. Als uw model het ondersteunt , kan het opstarten van de kernel in 64-bit modus helpen.