GNU/Linux >> Tutoriels Linux >  >> Linux

CentOS / RHEL 6 :Comment limiter les ressources mémoire pour un utilisateur spécifique à l'aide de cgroups

Groupes de contrôle (strong>cgroups ) vous permettent d'allouer des ressources informatiques à des processus ou des tâches spécifiques. Vous pouvez affecter un ensemble de CPU et de mémoire à un groupe spécifique de tâches ou même à un utilisateur spécifique. Le post ici détaille les étapes pour allouer une ressource mémoire définie à une utilisation spécifique. Ulimit ne pourra pas atteindre cet objectif car ulimit limite la consommation de mémoire utilisateur par processus. La meilleure option possible est d'utiliser des cgroups. Avec les cgroups, les utilisateurs peuvent être limités non seulement aux ressources mémoire, mais aussi au CPU/IO. Voyons un exemple pour limiter la mémoire utilisée par l'utilisateur "john" à 100 Mo.

Limiter la mémoire pour un utilisateur spécifique

1. Modifiez le fichier de configuration des cgroups /etc/cgconfig.conf et ajoutez les lignes ci-dessous

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

Le morceau de code ci-dessus créera un groupe de contrôle appelé memlimit où la limite est de 100 Mo .

2. Éditez maintenant un autre fichier /etc/cgrules.conf et ajoutez la ligne ci-dessous :

# vi /etc/cgrules.conf
john memory memlimit

Cela indiquera aux cgroups que l'utilisateur john sera ajouté au cgroup memlimit et ne pourra prendre que 100 Mo du système.

3. Une fois que vous avez terminé de modifier les fichiers de configuration, redémarrez les services cgred et cgconfig .

# service cgred restart
# service cgconfig restart
service cgconfig (configuration du groupe de contrôle) – utilisé pour créer des groupes de contrôle et gérer des sous-systèmes
service cgred (démon du moteur de règles du groupe de contrôle) – utilisé pour déplacer les tâches dans les groupes de contrôle selon les paramètres définis dans le fichier /etc/cgrules.conf.

4. Activez les deux services pour qu'ils démarrent au démarrage du système. Avec cela, nous nous assurons que les fichiers de configuration /etc/cgconfig.conf et /etc/cgrules.conf sont lus au démarrage et que les cgroups sont créés.

# chkconfig cgred on
# chkconfig cgconfig on


Linux
  1. Comment désactiver NUMA dans CentOS / RHEL 6,7

  2. Comment limiter certaines ressources de mémoire utilisateur sur CentOS/RHEL à l'aide de cgroup

  3. CentOS / RHEL :Comment trouver quel utilisateur exécute une commande spécifique ?

  4. CentOS / RHEL :Comment désactiver ssh pour les utilisateurs non root (autoriser ssh uniquement pour l'utilisateur root)

  5. Comment ajouter des paramètres régionaux sur CentOS/RHEL 8

Comment ajouter un utilisateur à un groupe sur RHEL 8 / CentOS 8

Comment limiter l'utilisateur root dans CentOS

Comment installer Zenoss Core pour la surveillance sur Linux CentOS / RHEL

CentOS / RHEL 6 :Comment démarrer en mode mono-utilisateur

Comment installer des packages à l'aide de dnf dans CentOS/RHEL 8

Comment obtenir une adresse mémoire spécifique en utilisant C