En Linux, podemos usar el comando ulimit -n para ver el número máximo de manejadores de archivo que un solo proceso puede abrir (también se cuentan las conexiones de socket). sistemaEl valor por defecto es 1024。
Para aplicaciones generales (como Apache, procesos de sistemas) 1024 es completamente suficiente. Sin embargo, está un poco estirado para aplicaciones de un solo proceso como Squid, MySQL y Java. Si el número de manillas de archivo abiertas por un solo proceso supera el valor definido por el sistema, se menciona el mensaje de error "demasiados archivos abiertos".
Ver el número máximo de manejadores de archivo establecidos por el sistema
LSOF (List Open Files) es una herramienta que lista los archivos que están actualmente abiertos en el sistema. En el entorno Linux, todo existe en forma de archivos, a través de los cuales no solo se puede acceder a datos generales, sino también conexiones de red y hardware. Así, en segundo plano, como en los sockets del Protocolo de Control de Transmisión (TCP) y del Protocolo de Datagramas de Usuario (UDP), el sistema asigna un descriptor de archivo a la aplicación, independientemente de la naturaleza del archivo, que proporciona una interfaz común para la interacción entre la aplicación y el sistema operativo subyacente. Como la lista de descriptores de los archivos abiertos de la aplicación proporciona mucha información sobre la propia aplicación, contar con la herramienta LSOF para poder ver esta lista será muy útil para la monitorización del sistema y la resolución de problemas.
El comando de instalación es el siguiente:
Cuenta el número total de manejadores de archivo actualmente abiertos en el sistema:
Formas de ver el número de manejos de archivo abiertos por el proceso de solicitud:
Límite de conjunto
Configuraciones temporales
De hecho, el comando ulimit se divide en restricciones blandas y duras, plus-h es el límite duro y plus-s es el límite blando. Por defecto, se muestran los límites suaves; si no añades -H o -S al ejecutar el comando ulimit para modificar, los dos parámetros cambian juntos.
¿Cuál es la diferencia entre límites blandos y duros?
Un límite rígido es el límite real, mientras que un límite suave es un límite de advertencia, que solo da una advertencia.
Ambientación permanente
El valor ulimits es permanente, y el archivo de configuración /etc/security/limits.conf debe modificarse
(Fin)
|