Notifications
Retirer tout

script Linux - executer une commande à interval régulier

11 Posts
2 Utilisateurs
0 Reactions
1 522 Vu
Posts: 141
 Toff
Initiateur du sujet
(@toff)
Membre estimable
Inscription: Il y a 22 ans

Bonsoir tout le monde!

Je suis sous RedHat 5 au bureau et je voudrai surveiller la consommation mémoire d'un process en particulier au cours du temps. Ne connaissant pas d'outils pour faire ça de manière simple et efficace, j'ai d'abord pensé à faire un top et à rester devant pour observer la mémoire max, mais il s'agit en fait d'un calcul élément fini et cela peut prendre des heures, voire des jours entiers...

Une autre solution à laquelle je pense est d'aller choper dans le fichier /proc/#pid/status la ligne qui va bien et l'enregistrer dans un fichier ascii. Après c'est à moi de me taper le fichier en question pour trouver la valeur maximum...mais ça, je veux bien le faire.
J'aimerais donc automatiser un peu tout ça avec un script par exemple mais mon soucis est : comment faire pour que ma commande 'grep' s'exécute à intervale régulier ? genre toute les 30s, il va aller lire le fichier 'status' et écrire dans un fichier 'mémoire_max'.

Merci d'avance pour vos lumières 🙂

10 Réponses
Posts: 141
 Toff
Initiateur du sujet
(@toff)
Membre estimable
Inscription: Il y a 22 ans

Bonjour,

Finalement j'ai trouvé quelque chose 🙂
Pour le test du process je n'ai pas été voir dans /var/run mais je pense que c'est pareil que /proc/#pid/status on doit y trouver les process existant.

Finalement j'ai bien utilisé la fonction while pour la boucle (plus exactement while true) et pour le test j'ai du le mettre dans une boucle if... Bref, je met le résultat ci-dessous au cas où...

#!/bin/bash
while true
do
if [ -f /proc/9178/status ]
then
grep "VmSize" /proc/9178/status >> memory_max
sleep 30
continue
else
break
fi
done

Pour info, la ligne à aller chercher dépend de l'OS (ou de la version du top peut être je ne sais pas). Par exemple sur ma station redhat 5 c'est VmPeak alors que sur la station de tests (je ne sais plus l'OS) c'est VmSize...

Evidemment il n'est pas complètement de moi, j'ai mis les bases, et quelqu'un l'a corrigé. Merci à lui d'ailleurs.

A+

Répondre
Page 3 / 3
Retour en haut