El uso del comando ulimit
sólo cambia los límites de recursos para el shell actual y sus hijos, y sudo ulimit
crea un shell raíz, ajusta sus límites y luego sale (por lo que no tiene, hasta donde yo puedo ver, ningún efecto real).
Para exceder el 12288, necesita ajustar los parámetros kern.maxfiles
y kern.maxfilesperproc
del kernel, y también (al menos de acuerdo con esta entrada del blog , que es un resumen de esta discusión ) un límite de launchd. Puede usar launchctl limit
para ajustar todo esto a la vez:
sudo launchctl limit maxfiles 1000000 1000000
Para hacer esto permanente (es decir, que no se reinicie cuando se reinicie), cree /etc/launchd.conf
que contenga:
limit maxfiles 1000000 1000000
Entonces puede usar ulimit
(pero sin el sudo
) para ajustar su límite de proceso.
Si esto no lo hace, es posible que te encuentres con límites de tamaño en el kernel. Si su modelo lo soporta , arrancar el kernel en modo de 64 bits puede ayudar.