Quelle commande / fichier de configuration contrôle les limites des fichiers ouverts sous OS X ? Existe-t-il une commande différente pour OS X 10.5 / 10.6 / 10.7 ? Les options que j'explore ci-dessous sont ulimit
, sysctl
et launchctl
"Trop de fichiers ouverts" est apparemment une erreur courante sur Leopard, peut-être aussi sur d'autres versions d'OS X :
Il existe de nombreuses façons (connexes ?) de visualiser les limites des fichiers ouverts :
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 2048
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 512
virtual memory (kbytes, -v) unlimited
$ launchctl limit
cpu unlimited unlimited
filesize unlimited unlimited
data unlimited unlimited
stack 8388608 67104768
core 0 unlimited
rss unlimited unlimited
memlock unlimited unlimited
maxproc 1024 2048
maxfiles 2048 4096
$ sysctl -a | grep files
kern.maxfiles = 32768
kern.maxfilesperproc = 16384
kern.maxfiles: 32768
kern.maxfilesperproc: 16384
kern.num_files: 2049
Il a été affirmé dans certains des messages ci-dessus que ceux-ci peuvent être modifiés avec les commandes suivantes :
sudo launchctl limit maxfiles 16384 32768
sudo ulimit -n 32768
sudo sysctl -w kern.maxfilesperproc=16384
sudo sysctl -w kern.maxfiles=32768
Cependant, parmi les commandes ci-dessus, seule la commande sysctl
n'ont apparemment aucun effet (c'est-à-dire que les commandes ulimit -n
y launchctl limit
ne montrent aucun changement après l'entrée des commandes ci-dessus, tandis que sysctl -a
montre les changements demandés).
Les emplacements correspondants pour modifier ces paramètres pour l'OS sont les suivants :
/etc/sysctl.conf
/etc/launchd.conf
J'ai aussi découvert un réponse qui stipule que ulimit
ne contrôle que le shell actuel.
Comment puis-je ajuster vers le haut le fichiers max. / fichiers ouverts au maximum limites sur MacOS ?