Comandos Clave - 332.3 Control de Recursos

ulimit

ComandoDescripcion
ulimit -aVer todos los limites actuales
ulimit -SaVer limites soft
ulimit -HaVer limites hard
ulimit -n 4096Establecer max archivos abiertos
ulimit -u 2048Establecer max procesos de usuario
ulimit -c 0Deshabilitar core dumps
ulimit -v 4194304Establecer max memoria virtual (KB)
ulimit -s 8192Establecer tamaño de stack (KB)

Cgroups v1

ComandoDescripcion
cgcreate -g cpu,memory:grupoCrear cgroup
cgset -r cpu.cfs_quota_us=50000 grupoEstablecer limite de CPU
cgset -r memory.limit_in_bytes=536870912 grupoEstablecer limite de memoria
cgexec -g cpu,memory:grupo comandoEjecutar proceso en cgroup
cgclassify -g cpu,memory:grupo PIDMover proceso a cgroup
cgdelete -g cpu,memory:grupoEliminar cgroup
cgget -r memory.limit_in_bytes grupoVer configuracion del cgroup
lscgroupListar cgroups existentes

Cgroups v2

Comando / RutaDescripcion
mkdir /sys/fs/cgroup/grupoCrear cgroup v2
echo "+cpu +memory" > /sys/fs/cgroup/cgroup.subtree_controlHabilitar controladores
echo 536870912 > /sys/fs/cgroup/grupo/memory.maxLimite de memoria
echo 100 > /sys/fs/cgroup/grupo/pids.maxLimite de procesos
echo PID > /sys/fs/cgroup/grupo/cgroup.procsMover proceso al cgroup
cat /sys/fs/cgroup/grupo/memory.currentVer uso de memoria

systemd - Control de Recursos

Comando / DirectivaDescripcion
systemctl set-property servicio CPUQuota=50%Limitar CPU persistente
systemctl set-property servicio MemoryMax=512MLimitar memoria persistente
systemctl set-property --runtime servicio CPUQuota=50%Limitar CPU temporal
systemctl show servicioVer propiedades del servicio
systemd-cgtopUso de recursos por cgroup (top)
systemd-cglsArbol de cgroups y procesos

Directivas systemd de Recursos

DirectivaDescripcion
CPUQuota=50%Porcentaje de un core (200% = 2 cores)
CPUWeight=200Peso relativo de CPU (1-10000)
MemoryMax=512MLimite duro de memoria
MemoryHigh=400MLimite suave de memoria
TasksMax=256Maximo de tareas/procesos
IOWeight=100Peso relativo de I/O
LimitNOFILE=65535Max archivos abiertos
LimitNPROC=4096Max procesos

Archivos de Configuracion

ArchivoDescripcion
/etc/security/limits.confLimites persistentes por usuario/grupo
/etc/security/limits.d/*.confArchivos de limites adicionales
/etc/cgconfig.confConfiguracion de cgroups v1
/etc/cgrules.confReglas de asignacion automatica (v1)
/proc/sys/kernel/pid_maxNumero maximo de PIDs del sistema