Colección de citas famosas - Mensajes de felicitación - Solución de excepción de error de Qilin de oferta exitosa: demasiados archivos abiertos

Solución de excepción de error de Qilin de oferta exitosa: demasiados archivos abiertos

Dirección del documento de referencia: (328 mensajes) Excepción de error: demasiados archivos abiertos solución_Blog de veinte compañeros de clase-blog CSDN_toomanyopenfiles

El proyecto se implementó en el sistema Kirin del postor ganador Después de iniciar sesión. un momento, la página se cierra y reporta este error

1. Razones

Demasiados archivos abiertos es un error común en los sistemas Linux. Literalmente, significa que el programa está abierto. Hay demasiados archivos, pero aquí los archivos no solo significan archivos, sino que también incluyen enlaces de comunicación abiertos (como sockets), puertos de escucha, etc., por lo que a veces también se les puede llamar identificadores. Este error generalmente también se puede llamar El número de. maneja excede el límite del sistema.

La causa es que el proceso abrió más archivos y enlaces de comunicación que el límite del sistema en un momento determinado. Puede verificar el número máximo de identificadores establecidos por el sistema actual a través del comando ulimit -a:

p>

La línea de archivos abiertos representa el número máximo de identificadores que el sistema actualmente permite abrir un solo proceso, aquí es 1024.

Utilice el comando lsof -p id de proceso para ver los detalles de todos los archivos abiertos de un solo proceso. Utilice el comando lsof -p id de proceso | wc -l para contar cuántos archivos ha abierto un proceso. Si hay demasiados archivos, use lsof. Si el comando -p id de proceso no se puede ver completamente, puede usar lsof -p id de proceso > openfiles.log para enviar el contenido del resultado de la ejecución al archivo de registro para su visualización.

2. Solución

1. Aumente el número de archivos que se pueden abrir - modo comando

ulimit -n 2048

Esto manera Puede establecer el número máximo de archivos abiertos permitidos por el usuario actual en 2048, pero este método de configuración se restaurará al valor predeterminado después de reiniciar.

El comando ulimit -n solo se puede configurar en 4096 para usuarios que no sean root.

Si desea configurarlo en un tamaño mayor, necesita permisos sudo o usuario root.

2. Aumente la cantidad de archivos que se pueden abrir: modifique el archivo de configuración del sistema

vim /etc/security/limits.conf

El primero * significa todos los usuarios, puede configurar un usuario según sus necesidades, por ejemplo

roy soft nofile 8192

roy hard nofile 8192

Tenga en cuenta que "nofile "El artículo tiene dos posibles medidas restrictivas. Es duro y suave debajo del artículo. Para que el número máximo modificado de archivos abiertos entre en vigor, se deben establecer ambos límites. Si se utiliza la configuración de caracteres "-", las configuraciones dura y suave se establecerán al mismo tiempo.

3. Verifique si hay problemas con el programa

Si tiene cierto conocimiento de su programa, debe tener una cierta estimación del límite superior de la cantidad de archivos (cantidad de enlaces) que el programa puede abrir Si cree que el número es anormal, utilice el comando lsof -p id de proceso > openfiles.log en el primer paso para obtener todos los detalles de los identificadores actualmente ocupados para su análisis.