Ulimit es una utilidad de línea de comandos en un sistema operativo basado en Linux que se utiliza para asignar y limitar recursos. Puede usarlo para controlar los recursos a nivel global, de grupo y de usuario. Establecer los límites correctos hará que su sistema funcione de manera óptima. Puede usar ulimit para establecer restricciones en los recursos utilizados por un proceso para que solo los procesos importantes en sus servidores puedan seguir ejecutándose.
En esta publicación, le mostraremos cómo controlar el uso de recursos del sistema con ulimit en Linux.
Requisitos
- Un nuevo servidor Ubuntu 20.04 en Atlantic.Net Cloud Platform
- Una contraseña de root configurada en su servidor
Crear servidor en la nube de Atlantic.Net
Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Ubuntu 20.04 como sistema operativo con al menos 2 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.
Una vez que haya iniciado sesión en su servidor Ubuntu 20.04, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.
apt-get update -y
Sintaxis básica
La sintaxis básica del comando ulimit se muestra a continuación:
ulimit [option]
A continuación se muestra una breve explicación de cada opción:
- -a:muestra los límites para todos los usuarios.
- -d:define el tamaño del área de datos.
- -c:define el tamaño del volcado del núcleo.
- -e:se utiliza para definir la prioridad.
- -s:define el tamaño máximo de la pila.
- -u:define el número máximo de procesos de usuario.
Cómo usar ulimit
Para mostrar el límite de recursos de todos los usuarios, ejecute el siguiente comando:
ulimit -a
Salida:
core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 15237 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 15237 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
Para mostrar el límite de recursos para un usuario específico, ejecute el siguiente comando:
ulimit -a root
Salida:
core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 15237 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 15237 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
Para mostrar el límite flexible de un usuario actual, ejecute el siguiente comando:
ulimit -S
Para mostrar el límite estricto de un usuario actual, ejecute el siguiente comando:
ulimit -H
Para verificar el límite estricto asignado en la cantidad máxima de procesos de usuario, ejecute el siguiente comando:
ulimit -Hu
Salida:
15237
Para cambiar el límite fijo predeterminado temporalmente, ejecute el siguiente comando:
ulimit -u 20000
Para cambiar el límite estricto de forma permanente, edite el archivo /etc/security/limits.conf:
nano /etc/security/limits.conf
Agregue la siguiente línea:
root hard nproc 20000
Guarde y cierre el archivo cuando haya terminado.
Para verificar el límite de archivos abiertos, ejecute el siguiente comando:
ulimit -n
Para cambiar el límite de archivos abiertos, ejecute el siguiente comando:
ulimit -n 1000
Para verificar el límite máximo de tamaño de memoria, ejecute el siguiente comando:
ulimit -m
Para cambiar el límite máximo de tamaño de memoria, ejecute el siguiente comando:
ulimit -m 2000
Conclusión
En la guía anterior, aprendió cómo limitar los recursos del sistema con el comando ulimit. ulimit lo ayudará a que su sistema funcione con un rendimiento óptimo. ¡Pruébelo hoy en su cuenta de alojamiento VPS de Atlantic.Net!