GNU/Linux >> Tutoriales Linux >  >> Linux

Ulimit:¿Diferencia entre límites duros y suaves?

¿Cuál es la diferencia entre límites estrictos y flexibles en ulimit?

Para la cantidad de archivos abiertos, tengo un límite suave de 1024 y un límite estricto de 10240.
Es posible ejecutar programas que abran más de 1024 archivos. ¿Para qué sirve el límite flexible?

Respuesta aceptada:

Un límite estricto solo puede ser elevado por root (cualquier proceso puede disminuirlo). Por lo tanto, es útil para la seguridad:un proceso no raíz no puede sobrepasar un límite estricto. Pero tiene el inconveniente de que un proceso no raíz no puede tener un límite inferior al de sus hijos.

El proceso puede cambiar un límite flexible en cualquier momento. Por lo tanto, es conveniente siempre que los procesos cooperen, pero no es bueno para la seguridad.

Un caso de uso típico para los límites flexibles es deshabilitar los volcados del núcleo (ulimit -Sc 0 ) manteniendo la opción de habilitarlos para un proceso específico que esté depurando ((ulimit -Sc unlimited; myprocess) ).

El ulimit El comando de shell es un contenedor alrededor del setrlimit llamada al sistema, ahí es donde encontrarás la documentación definitiva.

Tenga en cuenta que es posible que algunos sistemas no implementen todos los límites. Específicamente, algunos sistemas no admiten límites por proceso en los descriptores de archivos (Linux sí); si el suyo no lo hace, el comando de shell puede no funcionar.


Linux
  1. ¿Diferencia entre Shell de inicio de sesión y Shell sin inicio de sesión?

  2. ¿Diferencia entre 2>&-, 2>/dev/null, |&, &>/dev/null y>/dev/null 2>&1?

  3. ¿Cuál es la diferencia entre Sudo Su y Sudo Su?

  4. ¿Diferencia entre Eot y Eof?

  5. ¿Diferencia entre [0-9], [[:digit:]] y D?

Explicación de la diferencia entre apt y apt-get

¿La diferencia entre [[ $a ==Z* ]] y [ $a ==Z* ]?

¿La diferencia entre enlaces simbólicos y duros?

¿Diferencia entre tubería y expansión de comando?

¿Diferencia entre $HOME y '~' (tilde)?

¿Límite suave vs límite duro?