Comment limiter le temps et l'utilisation de la mémoire des processus dans Linux

Comment limiter le temps et l'utilisation de la mémoire des processus dans Linux

Le temps libre Le script est un programme de surveillance des ressources utile pour limiter le temps et la consommation de mémoire des processus dans Linux. Il vous permet d'exécuter des programmes sous contrôle et d'appliquer des limites de temps et de mémoire, mettant fin au programme en violation de ces paramètres.

Aucune installation nécessaire, exécutez simplement une commande avec ses arguments en utilisant temps libre programme et il surveillera la mémoire et la consommation de temps de la commande, interrompant le processus s'il sort des limites et vous avertit avec le message prédéfini.

Pour exécuter ce script, vous devez avoir Perl 5 Installé sur votre système Linux et le système de fichiers / proc monté.

Pour vérifier la version installée de Perler Sur votre système Linux, exécutez la commande suivante.

$ perl -v 
Vérifiez la version perl dans Linux

Ensuite, clone le temps libre Référentiel de votre système à l'aide de la commande git, puis déplacez-vous dans le référentiel local à l'aide de la commande CD et appelez-le comme commande Linux habituelle.

$ cd ~ / bin $ git clone https: // github.com / pshved / timeout.Git $ CD Timeout 

Voyons maintenant comment temps libre Script fonctionne.

Limitation de mémoire de base (100m de mémoire virtuelle):

Ce premier exemple montre comment limiter l'utilisation de la mémoire d'un processus pour 100m de mémoire virtuelle, en utilisant le -m drapeau. L'unité par défaut pour la mémoire est dans kilobytes.

Ici, la commande de stress-ng exécute 4 facteurs de stress de mémoire virtuelle (VM) qui se combinent à utiliser 40% de la mémoire disponible pendant 10 minutes. Ainsi chacun stress les usages dix% de la mémoire disponible.

$ ./ Timeout -M 100000 stress-ng --vm 4 --vm-octets 40% -T 10m 
Limiter la mémoire du processus

Considérant la sortie du temps libre commande ci-dessus, le stress-ng Les processus de travailleurs ont été interrompus après 1.16 secondes. En effet, la consommation combinée de mémoire du Machines virtuelles (438660 kilobytes) est supérieur à l'utilisation de la mémoire virtuelle autorisée pour stress-ng et ses processus enfants.

Limitation de temps de base du processus:

Pour permettre la limitation du temps du processus, utilisez le -t Flag comme indiqué.

$ ./ Timeout -T 4 Stress-ng --vm 4 --vm-octets 40% -T 10m 
Limitation de temps du processus

Dans l'exemple ci-dessus, lorsque stress-ng CPU + SYS le temps dépasse la valeur définie de 4, Les processus des travailleurs sont tués.

Limiter le temps et la mémoire du processus

Vous pouvez également limiter les deux mémoire et temps tout de suite comme suit.

$ ./ Timeout -T 4 -M 100000 stress-ng --vm 4 --vm-octets 40% -T 10m 

Le délai d'attente prend également en charge certaines options avancées telles que --détection-hangups, qui permet la détection.

$ ./ Timeout --Detect-Hangups -M 100000 Stress-ng --vm 4 --vm-octets 40% -T 10m 

Vous pouvez surveiller RSS (Taille de l'ensemble résident) Limite de mémoire en utilisant le --memiminit-RSS ou -s changer.

$ ./ Timeout -M 100000 -S Stress-ng --vm 4 --vm-octets 40% -T 10m 

De plus, pour retourner le code de sortie ou le signal + 128 d'un processus, utilisez le --confesser ou -c Option comme indiqué.

$ ./ Timeout -M 100000 -C Stress-ng --vm 4 --vm-octets 40% -T 10m 

Pour plus d'informations et un exemple d'utilisation, consultez le temps libre Référentiel GitHub: https: // github.com / pshved / timeout.

Vous pouvez également trouver ces articles connexes suivants tout aussi utiles:

  1. Comment trouver les 15 meilleurs processus par utilisation de la mémoire avec «Top» en mode lot
  2. Cputool - Limiter et contrôler l'utilisation du processeur de tout processus dans Linux
  3. Comment limiter l'utilisation du processeur d'un processus dans Linux avec l'outil CPULIMIT

Le temps libre Le script est un programme de surveillance des ressources simples qui restreint essentiellement la consommation de temps et de mémoire des processus dans Linux. Vous pouvez nous donner des commentaires sur le temps libre script via le formulaire de commentaire ci-dessous.