No se puede aumentar el límite de archivos abiertos más allá de 999999 en 14.04+

No se puede aumentar el límite de archivos abiertos más allá de 999999 en 14.04+

Estoy intentando aumentar el límite de archivos abiertos para usuarios root y no root a través de /etc/security/limits.conf. Pero no puedo pasar 999999, cualquier valor por encima de este valor vuelve al valor predeterminado 1024y no puedo configurarlo como ilimitado

Aquí está milimits.conf

* hard nofile 999999
* hard nofile 999999
root hard nofile 999999
root soft nofile 999999

Lo anterior funciona bien y ulimit -nregresa 999999.

Pero, si hago que el valor sea un paso más alto o hacia unlimitedo -1o infinityno funciona. ulimit -ndevolver1024

Me referí aquí:limits.conf - archivo de configuración para el módulo pam_limits | Página de manual de Ubuntu

Gracias

Respuesta1

Sé que tiene un retraso de 10 meses, pero ha establecido el límite estricto dos veces para todos los usuarios. Cambie la segunda línea para que sea un ulimit suave.

* hard nofile 999999
* soft nofile 999999
root hard nofile 999999
root soft nofile 999999

Después de hacer esto deberías ver:

$ ulimit -n
999999
$ 

Su archivo siempre debería haber funcionado para root ya que los límites estaban definidos correctamente.

Además, no puedes usar -1, infinito, ilimitado o similares, debes usar un valor literal. El valor máximo admitido para esto se define en el kernel y se expone en /proc/sys/fs/nr_open. En mis entornos centos 7 y debian strech obtengo el mismo valor:

$ cat /proc/sys/fs/nr_open
1048576
$

También debes iniciar una nueva sesión para que se actualicen los límites.

Respuesta2

Hay tres archivos que modificar para que esto funcione:

  • /etc/security/limits.conf
  • /etc/pam.d/common-session
  • /etc/pam.d/common-session-noninteractive

Ya ha agregado las líneas requeridas en el primer archivo, luego en los otros dos archivos se necesita esta línea:

session required pam_limits.so

Tenga en cuenta:

Lo que la mayoría de los recursos no enfatizan es que sus límites pueden ser modificados fácilmente por cualquier persona responsable de la ejecución de sus procesos. Si ulimit -n (ejecutar como el usuario correcto) le proporciona el número que acaba de configurar, pero cat /proc/{process_id}/limits sigue imprimiendo el número bajo, es casi seguro que tiene un administrador de procesos, un script de inicio o algo similar arruinando tus límites. También es necesario tener en cuenta que los procesos heredan los límites del proceso principal.

Por lo tanto, si existe dicho proceso, tendrá que modificar el archivo de configuración para que funcione.

Fuente: https://underyx.me/2015/05/18/raising-the-maximum-number-of-file-descriptors

información relacionada