macos sockets freebsd libev

macos - ¿Cómo aumentar los límites en sockets en osx para la prueba de carga?



freebsd libev (3)

(respuesta actualizada para usar -S como sugirieron varios comentaristas)

$ sysctl kern.maxfiles kern.maxfiles: 12288 $ sysctl kern.maxfilesperproc kern.maxfilesperproc: 10240 $ sudo sysctl -w kern.maxfiles=1048600 kern.maxfiles: 12288 -> 1048600 $ sudo sysctl -w kern.maxfilesperproc=1048576 kern.maxfilesperproc: 10240 -> 1048576 $ ulimit -S -n 256 $ ulimit -S -n 1048576 $ ulimit -S -n 1048576

Estoy creando un probador de carga que usa libev para crear muchas conexiones tcp abiertas a una aplicación en la que estoy trabajando. Actualmente bombardea en 256 conexiones, debido al límite de nofiles:

ulimit -n 256

Puedo aumentar esto a 1024 haciendo lo siguiente:

ulimit -n 1024

Pero no puedo aumentarlo más. Idealmente quiero configurarlo en 1048576. Da el siguiente error:

ulimit: open files: cannot modify limit: Invalid argument

¿Cómo puedo aumentar el ulimit aún más en osx?


Intenta ejecutar como root (por ejemplo, haz un "sudo -s" antes de ejecutar el comando ulimit y tu programa).

Tenga en cuenta que no estoy seguro de que más de un millón de sockets TCP a la vez sean realistas (aunque me interesa escuchar lo que sucede cuando lo prueba; ^))

Además, mira this .


Una cosa más: el límite en los puertos es 65535. Por lo tanto, es posible que no obtenga tantos como desee.