L'utilisation de la commande ulimit
ne change que les limites de ressources pour le shell courant et ses enfants et sudo ulimit
crée un shell racine, ajuste ses limites, puis sort (n'ayant donc, à ma connaissance, aucun effet réel).
Pour dépasser 12288, vous devez ajuster les paramètres kern.maxfiles
et kern.maxfilesperproc
du noyau, et aussi (au moins selon cette entrée de blog , qui est un résumé de cette discussion ) une limite de lancement. Vous pouvez utiliser launchctl limit
pour ajuster tous ces paramètres à la fois :
sudo launchctl limit maxfiles 1000000 1000000
Pour rendre cela permanent (c'est-à-dire ne pas réinitialiser au redémarrage), créez /etc/launchd.conf
contenant :
limit maxfiles 1000000 1000000
Alors vous pouvez utiliser ulimit
(mais sans le sudo
) pour ajuster votre limite de processus.
Si ce n'est pas le cas, vous risquez de rencontrer des limites de taille dans le noyau. Si votre modèle le prend en charge , démarrer le noyau en mode 64 bits peut aider.