Accéder au contenu.
Menu Sympa

linux-31 - Re: Temps d'exécution EFFECTIF d'un processus

Objet : Discussions sur le logiciel libre

Archives de la liste

Re: Temps d'exécution EFFECTIF d'un processus


Chronologique Discussions  
  • From: manu chez Z <emmanuel.courcelle AT zaclys.net>
  • To: peterpan31 <peterpan31 AT free.fr>, linux-31 AT culte.org
  • Subject: Re: Temps d'exécution EFFECTIF d'un processus
  • Date: Wed, 30 Aug 2023 19:04:27 +0200
  • Authentication-results: pic2m.le-pic.org; dkim=pass (1024-bit key; secure) header.d=zaclys.net header.i= AT zaclys.net header.a=rsa-sha256 header.s=default header.b=swxD9SjY; dkim-atps=neutral
  • Authentication-results: mail.zaclys.net; dmarc=fail (p=reject dis=none) header.from=zaclys.net
  • Authentication-results: mail.zaclys.net; spf=fail smtp.mailfrom=zaclys.net
  • Dmarc-filter: OpenDMARC Filter v1.4.1 mail.zaclys.net 37UH4RAc025659

Le 30/08/2023 à 18:54, peterpan31 a écrit :
Bonsoir Emmanuel et le reste du monde,

Je teste avec un "sleep 3600&"
J'ai son PID avec $!.

Et je fais :
ps -p $! -o 'bsdtime='
renvoie :
0:00

Pas bon...

ben si justement c'est bon:

sleep $! &

ps -p $! -o 'etime'
    ELAPSED
      00:25

ps -p $! -o 'bsdtime'
  TIME
  0:00

Dans le premier cas on mesure simplement le temps écoulé depuis le lancement de la commande, dans le second cas on mesure le temps cpu: comme durant un sleep le cpu ne fait absolument rien, ça ne lui prend pas beaucoup de temps.

Par contre si tu fais:

while true; do i=$(( i+1)); done &

ps -p $! -o 'etime' && ps -p $! -o 'bsdtime'

    ELAPSED
      00:42
  TIME
  0:42

Cette fois le cpu pédale comme un fou, du coup le temps écoulé est le même que le temps cpu.

Amicalement

Emmanuel



Note que je ne veux pas justement de temps cumulés.

Sinnon je devrais faire un "chrono" mais c'est compliqué.

Merci
pierre estrem



Le 30/08/2023 à 15:30, manu chez Z (via linux-31 Mailing List) a écrit :
Le 30/08/2023 à 15:28, manu chez Z (via linux-31 Mailing List) a écrit :
Le 30/08/2023 à 14:26, peterpan31 (via linux-31 Mailing List) a écrit :
Bonjour,

J'essaie de connaître le temps d'exécution EFFECTIF d'un processus (ici espeak).
C'est-à-dire qu'il ne faut pas compter les pauses faites avec le signal SIGSTOP.

ps $PID -o 'etimes=' renvoie le temps global (pauses comprises).
Je ne veux pas ce chiffre.

Dois-je voir du côté de 'top' ?

Une idée ?

pierre estrem

Bonjour Pierre

Les outils peuvent te donner plusieurs sortes de temps:

  * temps ELAPSED c'est-à-dire le temps écoulé (y compris les pauses
    en effet) depuis le démarrage du processus, c'est ce que te donne
    le etime ou etimes de ps
  * temps USER c'est-à-dire le temps passé par le CPU en mode
    "utilisateur": les temps où le processus est en attente
    d'interaction d'utilisateur ou d'entrées-sorties ne sera pas
    compté car le CPU n'exécute pas de code de ce processus
  * temps SYSTEM c'est-à-dire le temps passé pour le processus en mode
    système, par exemple le temps passé à lire un fichier.

Mais je ne connais pas de commande permettant d'avoir le temps elapsed moins les pauses. Je pense que ce que tu demandes correspond à peu près à la commande: ps -p 1304 -o 'bsdtime' (temps user + system d'après le man)

je voulais dire: ps -p $PID -o 'bsdtime'

pardon pour l'erreur

Emmanuel

Amicalement,

Emmanuel


-- 





Archives gérées par MHonArc 2.6.19+.

Haut de le page