GNU/Linux >> Tutoriales Linux >  >> Linux

Demasiados archivos abiertos en Debian

Solución 1:

Si su proceso se inicia a través de una secuencia de comandos, puede realizar la llamada a ulimit en la secuencia de comandos justo antes de ejecutar el demonio.

Si desea aumentar el ulimit para su usuario, o para todos los usuarios, puede establecer límites que se aplican a través de pam_limits al iniciar sesión Estos se establecen en /etc/security/limits.conf . En tu caso, podrías hacer algo como:

*               hard    nofile             2048

Tenga en cuenta que "duro" denota un límite estricto, uno que no se puede exceder y no se puede modificar. Un usuario puede modificar un límite suave (por ejemplo, alguien sin capacidades de root), pero no más allá del límite estricto.

Lee el limits.conf para obtener más información sobre el uso de pam_limits .

Solución 2:

También hay un "máximo total" de archivos abiertos establecidos en el kernel, puede verificar la configuración actual con:

cat /proc/sys/fs/file-max 

Y establezca un nuevo valor con:

echo "104854" > /proc/sys/fs/file-max

Si desea mantener la configuración entre reinicios, agregue

sys.fs.file-max=104854

a

/etc/sysctl.conf

Para verificar el uso máximo actual de archivos:

[[email protected] proc]# cat /proc/sys/fs/file-nr
3391    969     52427
|        |       |
|        |       |
|        |       maximum open file descriptors
|        total free allocated file descriptors
total allocated file descriptors
(the number of file descriptors allocated since boot)

Solución 3:

Como han dicho otros, puede aplicar límites específicos por usuario o grupo en /etc/security/limits.conf.

Nota:ulimit -n muestra el límite flexible.

ulimit -H -n 

le mostrará el límite estricto.

Esto hace que la salida de ulimit -a y ulimit -n sea bastante confusa si, por ejemplo, aumentara la cantidad de archivos de 1024 a 4096, ya que esperaría ver la salida de límite estricto, pero sigue viendo 1024, que es el límite suave. límite.

Además, recuerde que estos límites se aplican por inicio de sesión, así que vuelva a iniciar sesión en un nuevo shell y verifique sus cambios, no espere que se propaguen a los inicios de sesión existentes.

Solución 4:

Tenga en cuenta que si ejecuta su proceso mediante start-stop-daemon, la configuración de ulimits en /etc/security/limits.conf no funciona. Si, por ejemplo, desea aumentar el límite de archivos abiertos para Tomcat a 20000, debe agregarlos a las líneas a /etc/default/tomcat :

ulimit -Hn 32768
ulimit -Sn 32768

Encontré este problema en debian 6.0.4Para otros procesos, las respuestas dadas deberían ayudar.


Linux
  1. Iniciando udev:udevd inotify_init falló:demasiados archivos abiertos

  2. Máximo de archivos abiertos para el proceso de trabajo

  3. ¿Por qué git falla al empujar/buscar con demasiados archivos abiertos?

  4. bash:/bin/tar:lista de argumentos demasiado larga al comprimir muchos archivos con tar

  5. Debian:eliminando miles de archivos

Cómo configurar Samba en Debian

Cómo encontrar archivos en Debian 10

Resolución de error de Mysql:Demasiados archivos abiertos

Solución de problemas:demasiados redireccionamientos

Cómo encontrar archivos en Debian

Demasiados niveles de enlaces simbólicos