El comando prlimit
en sistemas Linux se utiliza para visualizar o modificar los límites de recursos de procesos específicos. Estos límites ayudan a controlar la cantidad de recursos que un proceso puede consumir, tales como el número de archivos abiertos, el tamaño máximo de memoria, el tiempo de CPU, entre otros. Cada proceso en Linux tiene ciertos límites predefinidos, que se pueden visualizar o ajustar con prlimit
.
Sintaxis básica de prlimit
La sintaxis básica es:
prlimit [opciones] [límites] -p PID
Donde:
- PID es el ID del proceso al que se le quieren aplicar los límites.
- opciones son los diferentes modificadores que definen el comportamiento del comando.
Principales opciones y límites
prlimit
permite especificar diversos límites de recursos mediante sus respectivas opciones. Algunos de los límites más comunes son:
Límite | Descripción |
---|---|
-n o --nofile | Límite en el número de archivos abiertos. |
-c o --core | Tamaño máximo de archivo de núcleo (core dump). |
-f o --fsize | Tamaño máximo de archivo que el proceso puede crear. |
-m o --rss | Tamaño máximo de la memoria residente. |
-t o --cpu | Tiempo máximo de CPU. |
-v o --as | Tamaño máximo del espacio de direcciones del proceso. |
Ejemplos de uso de prlimit
- Visualizar el límite de archivos abiertos de un proceso
prlimit -n -p PID
Este comando muestra el límite actual y máximo de archivos que el proceso con el IDPID
puede abrir. - Cambiar el límite de archivos abiertos
sudo prlimit --nofile=1024:2048 -p PID
En este caso, se establece un nuevo límite para el número de archivos abiertos. El límite "suave" (o "soft") es 1024, mientras que el límite "duro" es 2048. El límite "duro" es el valor máximo que puede establecer el proceso, mientras que el límite "suave" es el límite actual que puede aumentarse hasta alcanzar el límite "duro". - Visualizar todos los límites de un proceso
prlimit -p PID
Sin especificar ningún límite en particular,prlimit
mostrará todos los límites actuales del proceso. - Aumentar el límite de uso de memoria (RSS)
sudo prlimit --rss=512000 -p PID
Esto ajusta el límite de memoria residente para el proceso con el IDPID
a 512 MB (expresado en kilobytes). - Establecer un límite de tiempo de CPU
sudo prlimit --cpu=60 -p PID
Este comando fija un límite de 60 segundos de uso de CPU para el proceso especificado. - Combinar múltiples límites en un solo comando
sudo prlimit --nofile=1024 --rss=512000 --cpu=60 -p PID
Aquí se ajustan varios límites simultáneamente: el número de archivos abiertos, el límite de memoria residente y el tiempo de CPU.
Ejemplo avanzado: Establecer un límite en un nuevo proceso
También se puede ejecutar prlimit
con un nuevo proceso, lo que permite aplicar límites desde el inicio del proceso:
sudo prlimit --nofile=1024 --rss=512000 --cpu=60 -- command_to_run
En este caso, command_to_run
es el proceso que se va a ejecutar con los límites especificados.