Linux: limitar recursos usuarios

# primer cop:
sudo systemctl edit --force --full user-$(id -u juan).slice
sudo systemctl edit user-$(id -u juan).slice
[Slice]
# Limitar al usuario a un máximo de 2 núcleos de CPU en total (200%)
CPUQuota=200%
 
# Limitar la memoria RAM máxima a 4 Gigabytes
MemoryMax=4G
MemoryHigh=3.5G
 
# Número máximo de procesos o hilos que puede abrir a la vez
TasksMax=100
 
# Los usuarios normales solo pueden usar los tres primeros núcleos
AllowedCPUs=0-2
sudo systemctl daemon-reload
  • tots:
    sudo systemctl edit user.slice
  • excepcions:
    sudo systemctl edit user-1001.slice
    .
    [Slice]
    # Elimina las restricciones heredadas de user.slice
    CPUQuota=
    MemoryMax=infinity
    TasksMax=infinity
sudo nano /etc/security/limits.conf
# Usuario  Tipo    Recurso          Valor
juan       hard    nproc            50
juan       hard    nofile           1024
juan       hard    fsize            512000
sudo nano /etc/security/limits.conf
# 1. LIMITAR A TODOS POR DEFECTO
* hard    nproc           50
* hard    nofile          1024

# 2. EXCEPCIONES (Se ponen ABAJO para que sobrescriban el comodín)
root            hard    nproc           unlimited
root            hard    nofile          65535

tu_usuario      hard    nproc           unlimited
tu_usuario      hard    nofile          65535

@administradores hard   nproc           200
  • hard: Es un límite estricto que el usuario no puede modificar. (Si usas soft, el usuario puede aumentarlo temporalmente usando el comando ulimit).
  • nproc: Número máximo de procesos que puede tener abiertos a la vez (evita que sature tus procesadores con miles de tareas en segundo plano).
  • nofile: Número máximo de archivos que puede tener abiertos simultáneamente.
  • fsize: Tamaño máximo (en KB) de un archivo que puede crear (en este ejemplo, 500 MB).
# comprovar límits des del mateix usuari
ulimit -a 
 
# des de root
systemd-cgtop
systemctl-cgtop /user.slice/user-1060.slice
ps -u nombre_usuario
ps ux -U nombre_usuario
ps -o pid,cmd -u nombre_usuario
ps -u nombre_usuario --no-headers | wc -l
sudo pkill -u nombre_usuario
sudo pkill -9 -u nombre_usuario
sudo killall -u nombre_usuario
who
sudo pkill -9 -t pts/2
  • top -u nombre_usuario
  • Amb top obert, tecla U
  • Amb top obert, tecla W+Q guarda la configuració actual
  • Amb htop, F4 o u
  • linux/seguridad/limitar-recursos.txt
  • Darrera modificació: 08/06/2026 05:50
  • per mate