Cómo establecer límites para los procesos que ejecutan los usuarios en Linux
Una de las ventajas de Linux es que puedes controlar casi todo. 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 durante 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 usuario y cómo verificar los límites actuales y modificarlos.
Antes de continuar, hay dos cosas que debemos señalar:
- Necesita acceso root a su sistema para modificar los límites de usuario
- Debes tener mucho cuidado si planeas modificar estos límites
Para configurar los límites de usuarios, necesitaremos editar el siguiente archivo:
/etc/security/limits.conf
Este archivo se utiliza para aplicar ulimit creado por pam_module.
El archivo tiene la siguiente sintaxis:
<domain> <type> <item> <value>
Aquí nos detendremos en comentar cada una de las opciones:
- Dominio: esto incluye nombres de usuario, grupos, rangos de guías, etc.
- Tipo: límites blandos 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
Una buena muestra 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 "student"
.
Si desea ver los límites de un determinado proceso, simplemente puede “cat” el archivo de límites de esta manera:
cat /proc/PID/limits
Donde PID es el ID del proceso real, puede averiguarlo utilizando el comando ps. Para obtener una explicación más detallada, lea nuestro artículo que dice: Encuentre procesos en ejecución de Linux y establezca límites de procesos por nivel de usuario
Así que aquí hay un ejemplo:
cat /proc/2497/limits
Salida de muestra
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 32042 32042 processes
Max open files 1024 4096 files
Max locked memory 65536 65536 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 32042 32042 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us
Todas 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 enviarlo en la sección de comentarios a continuación.