Maison >Opération et maintenance >exploitation et maintenance Linux >Comment utiliser Linux pour la limitation et le contrôle des ressources système

Comment utiliser Linux pour la limitation et le contrôle des ressources système

PHPz
PHPzoriginal
2023-08-02 14:14:421996parcourir

Comment utiliser Linux pour limiter et contrôler les ressources système

Dans les systèmes Linux, nous devons souvent limiter et contrôler les ressources système pour garantir la stabilité et la sécurité du système. Cet article explique comment utiliser le mécanisme de contrôle des ressources intégré à Linux pour limiter et contrôler l'utilisation des ressources système. Nous nous concentrerons sur deux outils couramment utilisés, cgroup (groupe de contrôle) et ulimit, ainsi que sur leurs exemples d'utilisation.

1. cgroup

cgroup est un mécanisme de gestion des ressources fourni par le noyau Linux, grâce à lui, nous pouvons organiser les processus ensemble et limiter et contrôler les ressources de ces groupes de processus. Les groupes de contrôle peuvent contrôler et limiter l'utilisation des ressources système telles que le processeur, la mémoire et les E/S.

  1. Installez l'outil cgroup

Tout d'abord, nous devons installer l'outil cgroup. Sur la plupart des distributions Linux, il peut être installé à l'aide de la commande suivante :

sudo apt-get install cgroup-tools
  1. Créer un groupe de contrôle

Nous pouvons utiliser la commande cgcreate pour créer un groupe de contrôle, par exemple, créer un groupe de contrôle nommé mongroupe :

sudo cgcreate -g cpu,memory:mygroup

La commande ci-dessus crée Un groupe de contrôle nommé mygroup avec des contraintes de CPU et de mémoire.

  1. Définir les limites des ressources du groupe de contrôle

Ensuite, nous devons définir les limites des ressources du groupe de contrôle. Par exemple, nous limitons le CPU pour qu'il utilise un maximum de 50 % de la tranche de temps et limitons la mémoire pour qu'il utilise un maximum de 1 Go de mémoire :

sudo cgset -r cpu.cfs_quota_us=50000 -r memory.limit_in_bytes=1G mygroup

La commande ci-dessus limite le CPU de mon groupe pour qu'il utilise un maximum de 50 % de la tranche de temps. la tranche de temps et limiter la mémoire à Utiliser jusqu'à 1 Go de mémoire.

  1. Ajouter le processus au groupe de contrôle

Enfin, nous pouvons utiliser la commande cgclassify pour ajouter le processus au groupe de contrôle spécifié. Par exemple, ajoutez le processus avec le processus PID 12345 à mon groupe :

sudo cgclassify -g cpu,memory:mygroup 12345

Désormais, le processus avec le processus PID 12345 sera soumis aux limites de ressources de mon groupe.

2. ulimit

En plus de cgroup, Linux fournit également un autre puissant outil de contrôle des ressources, ulimit. ulimit nous permet de limiter les ressources système qu'un seul utilisateur peut utiliser.

  1. Afficher les limites de ressources actuelles

Nous pouvons utiliser la commande ulimit pour afficher les paramètres actuels de limite de ressources. Par exemple, affichez la limite de taille de fichier maximale que l'utilisateur actuel peut utiliser :

ulimit -f
  1. Définir les limites de ressources

Nous pouvons utiliser la commande ulimit pour définir les limites de ressources. Par exemple, pour définir la limite maximale de taille de fichier à 1 Go :

ulimit -f 1000000000

La commande ci-dessus définit la limite maximale de taille de fichier à 1 Go.

De plus, nous pouvons également utiliser la commande ulimit pour définir d'autres limites de ressources, telles que le temps CPU, la mémoire, le nombre de fichiers ouverts, etc.

  1. Modifier de manière permanente les limites de ressources

Les limites de ressources définies via la commande ulimit ne sont valables que pour la session en cours. Une fois la session terminée, les paramètres seront invalides. Si nous souhaitons modifier définitivement les limites de ressources, nous pouvons modifier le fichier de configuration système /etc/security/limits.conf.

Par exemple, si vous souhaitez modifier le nombre maximum de fichiers ouverts à 10 000, vous pouvez ajouter la configuration suivante à /etc/security/limits.conf :

*    hard    nofile    10000

La configuration ci-dessus modifiera le nombre maximum de fichiers ouverts à 10 000.

Conclusion

Cet article explique comment utiliser Linux pour la limitation et le contrôle des ressources système. Nous nous sommes concentrés sur deux outils couramment utilisés, cgroup et ulimit, et avons donné des exemples d'utilisation correspondants. En utilisant ces outils de manière rationnelle, nous pouvons contrôler efficacement l'utilisation des ressources du système et garantir la stabilité et la sécurité du système. J'espère que cet article sera utile aux lecteurs qui utilisent Linux pour limiter et contrôler les ressources système.

Références :

  • https://www.man7.org/linux/man-pages/man7/cgroups.7.html
  • https://www.man7.org/linux/man-pages/man2 / setrlimit.2.html
  • https://linux.die.net/man/1/ulimit

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn