Si vous avez un seul programme qui frappe un ulimit
(une limite douce sur le nombre de fichiers qu'un seul processus peut ouvrir), il est correct de l'ajuster ulimit
à un nombre plus élevé, surtout si vous pouvez simplement insérer la ulimit
commande dans votre .bash_profile
. Au - delà de cela, je vous conseille fortement contre les fichiers d'édition comme /etc/launchd.conf
ou /etc/sysctl.conf
ou l' ajout de fichiers plist sous /Library/LaunchDaemons/
pour quelques raisons.
Les modifications apportées à ces fichiers persistent dans les sauvegardes et sont reportées dans les nouvelles versions de macOS et les nouveaux ordinateurs lors de la mise à niveau.
Si ces modifications entraînent des problèmes (ce qui est une possibilité réelle), vous devez vous rappeler que vous avez effectué les modifications et quels en sont les modifications, puis rééditez les fichiers pour les annuler. Cela peut arriver des années plus tard.
Après quelques années de mise à niveau, vous constaterez peut-être que ce qui était auparavant une augmentation d'une limite correspond désormais à une diminution d'une limite. Mais vous ne saurez probablement pas que parce que vous (a) ne vous souviendrez pas que vous avez effectué le changement et (b) ne pourrez pas voir les nouvelles limites car vous les avez dépassées depuis le début.
Une bien meilleure option
En général, plutôt que de régler des paramètres individuels sur le système et de déséquilibrer celui-ci (et de laisser éventuellement un seul programme planter le système en prenant toutes les ressources), si les limites système par défaut ne suffisent pas à vos besoins, je vous recommande de choisir sur "Server Performance Mode", ou du moins l'essayer. Pour ce faire, OS X / macOS 10.8 Mountain Lion ou version ultérieure et au moins 16 Go de mémoire installés sont nécessaires. Au début, vous deviez payer pour cela, mais à partir de OS X 10.8 Mountain Lion, il est gratuit et officiellement pris en charge par Apple avec le système d'exploitation standard.
L'activation de ce mode augmente considérablement les limites du système, notamment le nombre de processus que vous pouvez exécuter et le nombre de fichiers que vous pouvez ouvrir, au détriment de l'allocation de mémoire supplémentaire au noyau du système. Vous pouvez lire en détail ce qui est modifié par le mode de performance du serveur dans la réponse à la question "Qu'est-ce que serverperfmode = 1 fait réellement sur macOS?" .
Ce mode présente plusieurs avantages par rapport à la modification des fichiers de configuration, comme le suggèrent d’autres réponses.
- C'est un changement d'un paramètre unique, facile à annuler.
- Il en résulte un ensemble équilibré de limites supérieures, préservant les sauvegardes contre les processus non fiables qui échouent dans le système.
- Dans la plupart des cas, il fournit des limites plus élevées que le noyau ne le permettrait autrement, même avec l'édition de fichiers de configuration.
- Il soulève les limites par défaut pour tous les processus sans modifications de configuration supplémentaires.
- À partir de OS X 10.11 El Capitan, la modification de configuration est stockée dans la NVRAM. Si cela pose problème, vous revenez en mode normal lorsque vous procédez à la résolution des problèmes de réinitialisation de la NVRAM. Vous n'êtes pas obligé de vous en souvenir.
- Comme il est en NVRAM, il ne changera pas accidentellement d'état lors de la restauration à partir de sauvegardes.
- Comme il est en NVRAM, il ne s’allumera pas automatiquement lorsque vous clonerez la configuration de votre Mac sur un nouveau matériel.
- Comme il est officiellement pris en charge par Apple, "cela fonctionne" et vous ne recevrez aucune plainte d'Apple Genius selon laquelle vous avez modifié le système de manière incorrecte lorsque vous demandez de l'aide.
- Puisqu'il s'agit d'un changement d'un paramètre unique, vous pouvez facilement l'activer et le désactiver pour le dépannage ou la comparaison d'un paramètre à l'autre.
Activer ou désactiver le mode de performance du serveur
Pour activer le mode de performance du serveur, utilisez le terminal pour exécuter l'une de ces commandes, puis redémarrez-le pour qu'il prenne effet:
- Pour OS X 10.11 El Capitan ou version ultérieure, activez-le avec
sudo nvram boot-args="serverperfmode=1 $(nvram boot-args 2>/dev/null | cut -f 2-)"
et l'éteindre avec
sudo nvram boot-args="$(nvram boot-args 2>/dev/null | sed -e $'s/boot-args\t//;s/serverperfmode=1//')"
Apple recommande officiellement les commandes ci-dessus, mais il y a en fait un problème. Si vous exécutez la commande "allumer" deux fois, vous devez exécuter la commande "éteindre" deux fois pour l'éteindre. Donc, vérifiez si il est activé ou désactivé après avoir effectué un changement en exécutant
nvram boot-args
Si la sortie inclut "serverperfmode = 1", le paramètre est activé et, dans le cas contraire, il est désactivé.
- Pour OS X 10.8 Mountain Lion, OS X 10.9 Mavericks et OS X 10.10 Yosemite, activez le mode performances du serveur avec
serverinfo --setperfmode 1
et l'éteindre avec
serverinfo --setperfmode 0
Vérifiez le réglage avec
serverinfo --perfmode
Le paramètre ne prendra effet qu'après le redémarrage du système.
Vérification pour voir si l'ordinateur est en cours d'exécution en mode de performance du serveur
En vérifiant les paramètres, vous saurez s'il est configuré pour prendre effet (ou non) après le redémarrage. Pour vérifier s’il est actuellement actif (en supposant que vous avez suivi mes conseils et n’aviez pas modifié les fichiers de configuration modifiant les paramètres), exécutez
sysctl kern.maxproc
Cela vous donnera un nombre correspondant au nombre maximum de processus autorisés par le système. Si ce nombre est un multiple de 532 , le mode de performance du serveur est désactivé. S'il s'agit d'un nombre rond (un multiple de 2500), le mode de performance du serveur est activé pour le système en cours d'exécution.