Cómo establecer límites para los procesos que ejecutan los usuarios en Linux

Cómo establecer límites para los procesos que ejecutan los usuarios en Linux

Una de las bellezas de Linux es que puedes controlar casi todo sobre él. Esto le da al administrador del sistema un gran control sobre su sistema y una mejor utilización de los recursos del sistema.

Si bien es posible que algunos nunca hayan pensado en hacer esto, es importante saber que en Linux puede limitar la cantidad de recursos que puede usar un solo usuario y por cuánto tiempo.

Lea también: Cómo aumentar el límite de archivos abiertos en Linux

En este breve tema, le mostraremos cómo limitar la cantidad de procesos iniciados por el usuario y cómo verificar los límites actuales y modificarlos.

Antes de continuar allí Hay dos cosas que debemos señalar:

  1. Necesita acceso de root a su sistema para modificar los límites de usuario
  2. Debe tener mucho cuidado si planea modificar estos límites

Para configurar los límites de usuario, necesitaremos editar el siguiente archivo:

/etc/security/limits.conf freestar.config.enabled_slots.push

Este archivo se utiliza para aplicar ulimit. creado por el pam_module.

El archivo tiene la siguiente sintaxis:

Aquí nos detendremos a discutir cada una de las opciones:

  • Dominio. esto incluye nombres de usuario, grupos, rangos de GUID, etc.
  • Tipo. límites suaves y estrictos
  • Elemento. el elemento que será limitado: tamaño del núcleo, tamaño del archivo, nproc, etc.
  • Valor. este es el valor para el límite dado

Un buen ejemplo de un límite es:

@student hard nproc 20

La línea anterior establece un límite estricto de un máximo de 20 procesos en el grupo “estudiante”.

Si desea ver los límites de un determinado proceso, simplemente puede “cat”. el archivo de límites así:

# cat/proc/PID/limits

Donde PID. es el ID de proceso real; puede averiguarlo mediante el comando ps. Para obtener una explicación más detallada, lea nuestro artículo que dice: Buscar procesos de Linux en ejecución y establecer límites de proceso por nivel de usuario

Así que aquí hay un ejemplo:

# cat/proc/2497/limits Salida de muestra Límite. Límite flexible. Límite estricto. Unidades. Tiempo máximo de CPU ilimitado segundos ilimitados Tamaño máximo de archivo ilimitado bytes ilimitados Tamaño máximo de datos ilimitado bytes ilimitados Tamaño máximo de pila 8388608 bytes ilimitados Tamaño máximo de archivo del núcleo 0 bytes ilimitados Conjunto residente máximo ilimitado bytes ilimitados Procesos máximos 32042 32042 procesos Archivos abiertos máximos 1024 4096 archivos Bloqueados máximos memoria 65536 65536 bytes Espacio máximo de direcciones ilimitado bytes ilimitados Bloqueos máximos de archivos ilimitados bloqueos ilimitados Máximo de señales pendientes 32042 32042 señales Tamaño máximo de cola de mensajes 819200 819200 bytes Prioridad máxima máxima 0 0 Prioridad máxima en tiempo real 0 0 Tiempo de espera máximo en tiempo real ilimitado Las líneas se explican por sí mismas. Sin embargo, si desea encontrar más configuraciones que puede ingresar en el archivo limits.conf. puede consultar el manual que se proporciona aquí.

Si tiene alguna pregunta o comentario, no dude en enviarlos en la sección de comentarios a continuación.