Quels sont-horloge murale-temps, l'utilisateur de la cpu-temps, et le système de l'uc-temps dans UNIX?
Je peux faire une supposition basée sur les noms, mais que sont-horloge murale-temps, l'utilisateur de la cpu-temps, et le système de l'uc-temps dans UNIX?
Est l'utilisateur du processeur de temps la quantité de temps passé à l'exécution par l'utilisateur du code noyau cpu fois la quantité de temps passé dans le noyau en raison de la nécessité d'opérations privilégiées (comme les e /s de disque)?
Ce que l'unité de temps est-ce dans la mesure de la.
Et est l'horloge murale vraiment le nombre de secondes que le processus a passé sur le CPU ou le nom est trompeur?
- Double Possible de Ce n' 'réel', 'utilisateur' et 'sys' signifie en sortie de temps(1)?
InformationsquelleAutor John Humphreys - w00te | 2011-09-07
Vous devez vous connecter pour publier un commentaire.
L'horloge murale est le moment que d'une horloge sur le mur (ou un chronomètre dans la main) serait en mesure d'avoir écoulé entre le début du processus et le "maintenant".
L'utilisateur-le temps cpu et du système de temps cpu sont à peu près comme vous l'avez dit vous - la quantité de temps passé dans le code de l'utilisateur et la quantité de temps passé dans le code du noyau.
Les unités sont secondes (et subseconds, qui pourrait être microsecondes ou nanosecondes).
L'horloge murale est pas le nombre de secondes que le processus a passé sur le PROCESSEUR; c'est le temps écoulé, y compris le temps passé à attendre son tour sur le CPU (pendant que d'autres processus se rendre à exécuter).
CPUtime = #clock_cycles / clock_rate
ne peut pas être le même que le calcul du temps écoulé. Savez-vous si je peux obtenir le temps écoulé depuis le temps CPU?read()
ougetpid()
), le noyau d'exécuter du code sur le nom de votre programme. Le noyau gère également la préemption multi-tâches, afin que d'autres programmes de s'exécuter, et n'en général, certains travaux d'entretien pour maintenir le système en cours d'exécution en douceur. Ce code est exécuté dans "le code du noyau" (également en "mode noyau'). Cela est différent de ce code que vous avez écrit, et l'utilisateur des bibliothèques (y compris le système de la bibliothèque C) que vous exécutez.Horloge murale temps: temps écoulé selon l'horloge de l'ordinateur, qui doit correspondre à temps dans le monde extérieur. Cela n'a rien à voir avec l'utilisation CPU; elle est donnée à titre de référence.
De l'utilisateur du PROCESSEUR système et de temps en temps: exactement ce que vous pensez. Les appels système, qui comprennent des appels d'e/S comme
read
,write
, etc. sont exécutés en sautant dans le code du noyau et de l'exécution que.Si le temps horloge murale < temps CPU, alors vous êtes l'exécution d'un programme en parallèle. Si le temps horloge murale > temps PROCESSEUR, vous êtes en attente pour le disque, le réseau ou d'autres dispositifs.
Tous sont mesurés en secondes, par la SI.
Horloge murale temps, c'est exactement ce qu'il dit, le temps écoulé mesuré par l'horloge sur le mur (ou montre)
De l'utilisateur du processeur de temps est le temps passé dans "espace utilisateur", c'est le temps passé sur la non-kernel les processus
De l'uc du système de temps est le temps passé dans le noyau, généralement le temps passé à l'entretien des appels système.
réel ou horloge murale
réel 7m2.444s
Sur un système avec 24 core processeur, ce cmd/processus a pris 7+ minutes à compléter. Qu'en utilisant le plus possible le parallélisme avec tous les cœurs.
utilisateur
utilisateur 76m14.607s
Le cmd/processus a utilisé cette quantité de quantité de temps cpu.
En d'autres termes, sur un ordinateur avec un PROCESSEUR simple core, le réel et l'utilisateur sera presque égale, de sorte que la même commande prendra ~76 minutes à compléter.
sys
sys 2m29.432s
C'est le temps pris par le noyau pour exécuter toute la base/système de niveau de l'exécution des opérations de cette cmd, y compris la commutation de contexte, l'allocation des ressources, etc.