<div dir="ltr">Buenas tardes, <div><br></div><div>  Tengo una serie de instancias corriendo Ubuntu 12.04.4 LTS en Amazon EC2, las cuales son load balancer para un sistema en tiempo real. La cantidad de conexiones por segundo que maneja dicho sistema es realmente alta, por lo que el límite de 1024 soft (4096 hard) de archivos abiertos es insuficiente. Por dicho motivo, los subí hasta 300000 soft (320000 hard).</div>

<div><br></div><div>$ cat /etc/security/limits.conf</div><div><br></div><div><div>www-data    soft    nofile  300000</div><div>www-data    hard    nofile  320000</div><div><div>root    soft    nofile  300000</div><div>root    hard    nofile  320000</div>

</div><div><br></div><div>$ /etc/pam.d/common-session<br></div><div><br></div><div>session required pam_limits.so<br></div><div><br></div><div>$ service nginx start</div><div><br></div><div>$ ps aux | grep nginx</div><div>

<div>root     17631  0.0  0.0  20824  1188 ?        Ss   17:41   0:00 nginx: master process /usr/local/nginx/sbin/nginx</div><div>www-data 17632 35.9  0.0  24292  5384 ?        S    17:41   8:38 nginx: worker process</div>

<div>www-data 17633 35.2  0.0  24908  5936 ?        R    17:41   8:28 nginx: worker process</div><div>www-data 17634 35.1  0.0  23216  4304 ?        S    17:41   8:27 nginx: worker process</div><div>www-data 17636 35.3  0.0  25328  6420 ?        R    17:41   8:29 nginx: worker process</div>

</div><div><br></div><div>$ cat /proc/17631/limits</div><div>Max open files            300000               320000               files<br></div><div><br></div><div>Hasta acá, todo bien. </div><div><br></div><div>Ahora, el problema es el seguiente:</div>

<div><br></div><div>Cuando la instancia se reinicia y arranca nginx debido a que está asociado con el runlevel por defecto, éste lo hace sin respetar los limites impuestos en limits.conf . Tengo que manualmente frenar nginx y volverlo a subir para que ahí si los respete.</div>

<div><br></div><div>A su vez, tengo servicios como monit y algunos binarios custom que necesitan los límites elevados, pero que de igual modo ignoran al arranque.</div><div><br></div><div>¿Ven algo que yo no? ¿Se sucedió lo mismo? </div>

<div><br></div><div>Parecería que los limits se "generaran" en en el módulo pam después de que los servicios iniciaron. </div><div><br></div><div>¿Será una cuestión de orden en los init scripts? </div><div><br>
</div>
<div>Muchas gracias, Saludos,</div><div><br></div><div><br></div><div><br></div>-- <br><div dir="ltr">-- Guido Accardo --<div><div style="font-family:arial;font-size:small">"... What we know is a drop, what we ignore is the ocean ..." Isaac Newton</div>

</div></div>
</div></div>