GNU/Linux >> Tutoriales Linux >  >> Linux

CentOS/RHEL 6:Cómo limitar los recursos de memoria para un usuario específico usando cgroups

Grupos de control (strong>cgroups ) le permiten asignar recursos informáticos a procesos o tareas específicos. Puede asignar un conjunto de CPU y memoria a un grupo específico de tareas o incluso a un usuario específico. La publicación aquí detalla los pasos para asignar un recurso de memoria definido a un uso específico. Ulimit no podrá lograr este objetivo ya que ulimit limita el consumo de memoria del usuario por proceso. La mejor opción posible es usar cgroups. Con cgroups, los usuarios pueden limitarse no solo a los recursos de memoria, sino también a la CPU/IO. Veamos un ejemplo para limitar la memoria utilizada por el usuario “john” a 100mb.

Limitar la memoria para un usuario específico

1. Edite el archivo de configuración de cgroups /etc/cgconfig.conf y agregue las siguientes líneas

# vi /etc/cgconfig.conf
group memlimit {
	memory {
		memory.limit_in_bytes = 104857600;    #### limit memory to 100MB
	}
}

El fragmento de código anterior creará un cgroup llamado memlimit donde el límite es 100 mb .

2. Ahora edite otro archivo /etc/cgrules.conf y agregue la siguiente línea:

# vi /etc/cgrules.conf
john memory memlimit

Esto le dirá a cgroups que el usuario john se agregará a memlimit cgroup y solo podrá tomar 100 mb del sistema.

3. Una vez que haya terminado de editar los archivos de configuración, reinicie los servicios cgred y cgconfig .

# service cgred restart
# service cgconfig restart
servicio cgconfig (configuración del grupo de control) – utilizado para crear cgroups y administrar subsistemas
servicio cgred (demonio del motor de reglas de grupo de control) – se utiliza para mover tareas a cgroups de acuerdo con los parámetros establecidos en el archivo /etc/cgrules.conf.

4. Habilite ambos servicios para que se inicien al arrancar el sistema. Con esto nos aseguramos de que los archivos de configuración /etc/cgconfig.conf y /etc/cgrules.conf se lean en el momento del arranque y se creen cgroups.

# chkconfig cgred on
# chkconfig cgconfig on


Linux
  1. Cómo deshabilitar NUMA en CentOS / RHEL 6,7

  2. Cómo limitar algunos recursos de memoria de usuario en CentOS/RHEL usando cgroup

  3. CentOS / RHEL:¿Cómo encontrar qué usuario ejecuta un comando específico?

  4. CentOS/RHEL:Cómo deshabilitar ssh para usuarios no root (permitiendo ssh solo para usuarios root)

  5. Cómo deshabilitar un comando específico para un usuario específico en Linux

Cómo agregar un usuario a un grupo en RHEL 8 / CentOS 8

Cómo limitar el usuario root en CentOS

Cómo instalar Zenoss Core para monitoreo en Linux CentOS / RHEL

CentOS / RHEL 6:cómo iniciar en modo de usuario único

CentOS / RHEL:cómo configurar chroot jail para vsftp solo para usuarios específicos

Cómo limitar la memoria para un servicio administrado por systemd