Il n'y a pas de configuration ulimit dans les fichiers de démarrage du système / scripts de démarrage du shell.
ulimit -a
spectacles:
-u: processes 1064
-n: file descriptors 256
launchctl limit
spectacles:
maxproc 2048 2048
maxfiles 2048 2048
Je me souviens vaguement que les limites de launchctl devraient correspondre à la sortie ulimit d'un shell, je peux me tromper.
Existe-t-il une relation entre les limites du lauchctl et ulimit?
Réponses:
Dans le shell, ulimit permet de "contrôler les ressources disponibles pour le shell et les processus qu'il démarre" (voir
man bash
). Par conséquent, il s'applique uniquement au shell et à ses enfants. Les limites de launchd sont liées à celui-ci et aux processus qu'il gère. Les deux sont séparés.Les programmes individuels peuvent définir leurs propres limites de ressources en appelant les routines de la bibliothèque C standard
ulimit()
ougetrlimit()
etsetrlimit()
. Certaines limites de ressources ne peuvent être élevées que si le processus s'exécute en tant que super-utilisateur.À titre d'exemple pratique, je débogue de gros projets logiciels et la limite par défaut du shell pour le nombre de fichiers ouverts n'est pas assez grande. Dans mon fichier .bashrc, j'ai les éléments suivants:
Maintenant, mon débogueur ne se plaindra pas qu'il ne peut pas ouvrir tous les fichiers dont il a besoin. Évidemment, cela ne devrait avoir aucun impact sur launchd.
la source
launchctl limit
; Bien que l'utilisateur puisse modifier les nombres ultimes, ils ne peuvent toutefois pas dépasserlaunchctl limit
les limites strictes.