Taula de continguts

Linux: limitar recursos usuarios

systemd

un usuari

# 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

limits

un usuari

sudo nano /etc/security/limits.conf
# Usuario  Tipo    Recurso          Valor
juan       hard    nproc            50
juan       hard    nofile           1024
juan       hard    fsize            512000

tots amb excepcions

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

comprovar límits

# comprovar límits des del mateix usuari
ulimit -a 
 
# des de root
systemd-cgtop
systemctl-cgtop /user.slice/user-1060.slice

ps, pkill

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

expulsar

who
sudo pkill -9 -t pts/2

top, htop