Comment modifier les valeurs par défaut ulimit sous Mac OS X 10.6?

42

Mac OS X limite le nombre de processus à 266 et ouvre les fichiers à 256. Parfois, c'est un problème; 256 fichiers ouverts et 266 processus ne sont pas si nombreux.

Comment il est possible de changer les valeurs par défaut ulimit dans Mac OS X 10.6.7?

(Espérons qu'il n'y a pas de différence entre 10.6.7 et les autres versions de Snow Leopard.)

Question connexe dans serverfault. Malheureusement, la réponse est pour Mac OS X 10.5, et cela ne fonctionne pas dans 10.6.

Olli
la source
Pour un changement rapide: ulimit -n 1024. Mais cela ne change pas la valeur par défaut.
Cœur

Réponses:

47

Launchctl a le contrôle sur cela maintenant.

Tu peux faire un

launchctl limit maxfiles 2048 2048 

définir les limites logicielles et matérielles pour le nombre maximal de fichiers ouverts. Pour plus d'informations, voir la section 'limite' de:

http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/launchctl.1.html

Aaron Kangas
la source
1
Cela fonctionne toujours sous OS X 10.9
Olli
Je suis en 10.9.4 et quand je launchctl limit maxfiles 2048 2048et mongoje reçois toujours l' soft rlimits too lowerreur. Quelque chose d'autre que je peux essayer?
Ryan
après avoir modifié la limite avec sudo launchctl etc., fermez / ouvrez le terminal et définissez ulimit -n 2048. Cette fois, cela devrait fonctionner. vérifiez-le avec ulimit -n
chrismarx
4
Après avoir fait "launchctl limit maxfiles 2048 2048", mon Mac a trop de fichiers ouverts lorsque j'ai essayé de modifier le shell et les applications Cocoa affichaient des menus vides. Le système était à peu près grillé. Un redémarrage a heureusement résolu le problème.
Graham Wheeler
3
N'exécutez pas cette commande sur macOS Sierra. La commande correcte serait bien launchctl limit maxfiles 2048 unlimitedque je suggère de consulter vos paramètres actuels launchctl limit maxfilesavant de le faire, sinon vous allez verrouiller complètement votre ordinateur.
snowe2010
8

Il y a une réponse sur StackOverflow pour celui-ci. Apparemment le ulimitfait maintenant.

atl
la source
1
Vous pouvez changer les valeurs avec ulimit, mais cela ne les enregistre pas. Les publications liées n'incluent aucun moyen de sauvegarder les valeurs par défaut.
Olli
3
Une solution rapide: Modifiez votre fichier ~ / .bash_profile et ajoutez-le sur une ligne: ulimit -n 1024 (en utilisant le numéro de votre
choix
2
@PapaFreud Ceci n'est exécuté que lorsque vous ouvrez le terminal / bash. Tous les programmes ne sont pas exécutés à partir du terminal.
Olli
1

FYI.

.bash_profile La mise à jour ne m'a pas aidé pour OS v10.10.3, mais la réinstallation de NodeJS de 0.10.35 à 0.12.3 m'a aidée et l'erreur a disparu.

Andrii Lundiak
la source