Quelles unités de temps «haut» utilise-t-il?

59

Si j'émets la commande "top" et reçois des résultats tels que:

PID   USER  PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND   
00001 bob   25   0 77380 1212 1200 R 95.8  0.0  89122:13 fee         
00002 bob   25   0 77380 1196 1184 R 95.4  0.0  88954:14 fi         
00003 sam   18   0  427m  16m 6308 R 30.0  0.1  54:46.43 fo         
00004 sam   18   0  427m  16m 6308 R 26.5  0.1  52:55.33 fum         

Question: Quelles sont les unités dans la colonne "TIME +"?

Ce que j'ai essayé: (veuillez suggérer une meilleure stratégie pour la recherche de documentation ...)

  • man top | grep -C 4 time ou
  • man top | grep <X>quand je remplace minute, hour, dayou HHpour X...
Abe
la source

Réponses:

47

minutes: secondes, centièmes

La recherche de “TIME +” ou de “secondes” donne la réponse, en quelque sorte (je n'appellerais pas la page de manuel en clair).

Ce format est hérité de BSD, vous l’obtenez également avec ps uou ps lsous Linux.

Gilles, arrête de faire le mal
la source
merci ... (j'ai trouvé TIME + dès la première recherche, mais j'étais découragé); puis-je supposer que 89122: 13 est en unités de MM: SS, (89122 minutes et 13 secondes = 60 jours)?
Abe
1
@Abe Yes, 89122: 13 = 5347333 secondes ≈ 62 jours.
Gilles, arrête de faire le mal
1
@Abe Je suppose que nous pouvons diviser ce temps compte tenu du nombre de cœurs et obtenir le temps chronométré depuis qu'il a commencé ...
PJunior
@ Gilles je suis nouveau sur Linux. A quelle heure TIME + signifie-t-il? Pendant combien de temps le travail est en cours d'exécution?
mithusengupta123
@ mithusengupta123 C'est la quantité de temps processeur utilisée par le processus. Cela peut être beaucoup moins long que la durée d'exécution du processus si le processus n'est pas lié à l'UC, par exemple un processus qui passe la plupart de son temps en attente en attente de traitement des demandes.
Gilles 'SO- arrête d'être méchant'
57

pset topaffichez le temps CPU utilisé, pas le temps d’horloge depuis le début du processus. Une façon de vérifier le démarrage du processus consiste à utiliser la commande suivante. La date de création du fichier PID est celle du démarrage du processus:

ls -ld /proc/pid

Donc, pour le processus 2303, ce serait:

ls -ld /proc/2303
Paul Heimiller
la source
2
Je ne vois nulle part où Gilles a dit que les valeurs indiquaient le temps chronométré ...
Chris Down
Eh bien, à mon avis, cela conduit tout le monde à l'erreur.
PJunior
15
Votre réponse est utile, mais affirmer que «l'autre réponse est totalement fausse» est (à mon avis) inexacte. La question initiale est de savoir quelles unités sont utilisées. L'autre réponse répond à cela. Cela ne spécifie pas qu'il s'agit d'une mesure du temps de calcul, pas du temps d'horloge. Votre réponse clarifie cela et est donc utile (mais ne répond pas à la question initiale). Je voterai votre réponse si vous retirez de votre réponse que l'autre réponse est "totalement fausse".
Jason S
2
Cela ne semble pas fonctionner pour les processus de longue durée (peut-être que cela ne fonctionne pas aussi pour les travaux courts). Je vois que ce fichier est mis à jour pour une autre raison également. Il existe un autre moyen de calculer la date de création du processus ( stackoverflow.com/questions/5731234/… )
Ganesh
Cela n'a pas fonctionné pour moi. Après 2 jours de traitement, ce fichier indiquait une heure de modification très récente. En outre, le PO était "quelles unités", alors que c'est intéressant ... hors sujet.
Wilbur Whateley