15 votes

Quelle est la relation entre `launchctl limit` et `ulimit` ?

Il n'y a pas de configuration ulimit dans les fichiers de démarrage du système/le shell de démarrage scripts.

ulimit -a montre :

-u: processes                       1064
-n: file descriptors                256

launchctl limit montre :

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.

Y a-t-il une relation entre les limites de lauchctl et ulimit ?

13voto

ithos67 Points 881

Dans l'interpréteur de commandes, ulimit permet de "contrôler les ressources disponibles pour l'interpréteur de commandes et pour les processus qu'il lance" (cf. man bash ). Par conséquent, il ne s'applique qu'à l'obus et à ses enfants. Les limites pour launchd sont liées à ce dernier 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() o getrlimit() y setrlimit() . Certaines limites de ressources ne peuvent être levées que si le processus est exécuté 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 élevée. Dans mon fichier .bashrc, j'ai ce qui suit :

# Increase the upper limit on the number of open files:
ulimit -n 1024

Maintenant, mon débogueur ne se plaint plus de ne pas pouvoir ouvrir tous les fichiers dont il a besoin. Évidemment, cela ne devrait pas avoir d'impact sur launchd.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X