Cómo establecer el valor de Ulimit de forma permanente

Cómo establecer el valor de Ulimit de forma permanente

En Linux, Ulimit es una herramienta incorporada para administrar la asignación de recursos a nivel global, grupal y de usuario. Para un sistema de usuarios múltiples como Linux, una característica es casi primordial tener. Puede prevenir el consumo de recursos del sistema no deseados como la RAM y la energía de la CPU.

Consulte cómo establecer el valor de Ulimit permanentemente en Linux.

Valor Ulimit

Ulimit aplica el límite predefinido de la cantidad de recursos que puede usar un usuario. La herramienta utiliza un archivo de configuración determinado como el núcleo para asignar los valores ULIMIT. Para un control más ajustado, es mejor editar el archivo.

$ cat/etc/seguridad/límites.confusión


Hay dos tipos de límites que se pueden imponer: límites suaves y duros. Es mejor explicar este tipo con un ejemplo simple.

Digamos que un administrador del sistema desea que un cierto usuario se cierne alrededor de cierto valor. Aquí, el usuario puede exceder el valor si es necesario, pero no difícil. En este caso, será un límite suave. Por otro lado, si el administrador quiere imponer estrictamente el límite, entonces será un límite duro.

Usando Ulimit

Ulimit es una herramienta de línea de comandos. Aquí está la estructura básica del comando ulimit.

$ Ulimit

Muestra todos los límites

El indicador "-a" enumerará todas las opciones y configuraciones para un usuario en particular. Si no se define ningún usuario, imprimirá los límites para el usuario actual.

$ ulimit -a
$ ulimit -a


Para mostrar los límites suaves de un usuario, use el indicador "-s".

$ Ulimit -SA


Para mostrar los límites duros de un usuario, use el indicador "-h".

$ ulimit -ha


Es posible ver los límites de un determinado proceso. Los detalles se encuentran en el siguiente archivo. Tenga en cuenta que es un archivo único para cada uno de los procesos que se ejecutan actualmente. Intercambie el campo PID con el PID del proceso de destino.

$ Cat /Proc //Límites

Limitar los parámetros

Para cambiar el ulimit, debe declarar qué tipo de límite le gustaría definir. Aquí hay una lista corta con todos los parámetros disponibles que puede cambiar. Casi todos definen el valor máximo de cada uno de los parámetros.

  • B: tamaño del búfer de zócalo
  • C: Tamaño de los archivos centrales creados
  • D: tamaño del segmento de datos del proceso
  • E: Prioridad de programación (valor "agradable")
  • F: Número de archivos creados por el shell
  • I: Número de señales pendientes
  • L: tamaño para bloquear en la memoria
  • M: Tamaño del conjunto de residentes
  • N: número de descriptores de archivos abiertos
  • P: Tamaño de búfer de tubería
  • P: Número de bytes en las colas de mensajes de Posix
  • R: Prioridad de programación en tiempo real
  • S: tamaño de pila
  • T: Tiempo de CPU (en segundos)
  • T: Número de hilos
  • U: Número de procesos disponibles para un usuario
  • V: cantidad de memoria virtual disponible para procesar
  • X: Número de bloqueos de archivos

Cambiar el valor ULIMIT temporalmente

Es posible cambiar temporalmente el valor de Ulimit para un usuario en particular. El cambio permanecerá efectivo hasta que el usuario haya desconectado, expire la sesión o el sistema reinicie. Aquí, mostraré un ejemplo de cómo establecer el número de proceso máximo para un usuario.

Para cambiar el número de procesos disponibles a 12345, ejecute el siguiente comando. Impondrá un límite duro temporal al usuario.

$ ulimit -u
$ ulimit -U 12345


Consulte el límite duro para verificar.

$ ulimit -hu

Cambiar el valor de Ulimit de forma permanente

Como se mencionó anteriormente, ULIMIT utiliza un archivo de configuración del sistema que determina el valor predeterminado de ULIMIT. Al hacer cambios en este archivo, puede cambiar permanentemente el valor ULIMIT para cualquier usuario.

Abra el archivo en su editor de texto favorito. Tenga en cuenta que el archivo debe abrirse con permiso raíz para que los cambios se guarden.

$ sudo vim/etc/seguridad/límites.confusión


Aquí, las entradas del archivo siguen la siguiente estructura.

ps

Tengamos un desglose rápido de cada uno de los campos.

  • Dominio: nombres de usuario, grupos, rangos de guía, etc.
  • Tipo: Tipo de límite (suave/duro)
  • Artículo: el recurso que será limitado, por ejemplo, tamaño de núcleo, NPROC, tamaño de archivo, etc.
  • Valor: el valor límite

Aquí hay una lista corta de todos los artículos disponibles.

  • Core: Limita el tamaño del archivo de núcleo (en KB)
  • CPU: tiempo de CPU (en min)
  • Datos: tamaño de datos (en KB)
  • FSIZE: Tamaño del archivo (en KB)
  • BLOQUEAS: LLOQUETAS DE ARCHIVO El usuario puede mantener
  • Memlock: espacio de direcciones bloqueado en memoria (en KB)
  • NPROC: Número de procesadores
  • RTPIO: Prioridad en tiempo real
  • Sigpending: Número de señales pendientes

Para obtener una lista completa de los artículos disponibles, consulte la página del hombre de los límites.confusión.

Límites de $ hombre.confusión


Por ejemplo, la siguiente entrada limitaría el número de núcleos de CPU que el usuario "Viktor" puede usar hasta 2.

$ Viktor duro nproc 2

Una vez editado, guarde el archivo. Para tomar los cambios en efecto, los usuarios afectados deben iniciar sesión y volver a registrar. Dependiendo de cómo se implementa, también puede requerir que el sistema reinicie.

Pensamientos finales

La herramienta Ulimit ofrece una forma poderosa de administrar recursos. Es simple pero poderoso en lo que hace. Lo que sea que haga, asegúrese de que el límite que está a punto de implementar se ingrese correctamente. Si está probando estas cosas por primera vez, intente probarlas en una máquina virtual primero.

Hay más en el comando ulimit de lo que he discutido aquí. Si desea obtener más información, consulte el comando Linux Ulimit.

Computación feliz!