GNU/Linux >> Tutoriels Linux >  >> Linux

En quoi le temps CPU et l'utilisation du CPU sont-ils identiques ?

Solution 1 :

Le temps CPU est alloué en discret tranches de temps (ticks). Pendant un certain nombre de tranches de temps, le CPU est occupé, d'autres fois il ne l'est pas (ce qui est représenté par le processus inactif). Dans l'image ci-dessous, le processeur est occupé pour 6 des 10 tranches de processeur. 6/10 = 0,60 =60 % de temps occupé (et il y aurait donc 40 % d'inactivité).

Un pourcentage est défini comme "un nombre ou un taux exprimé en un certain nombre de parties de quelque chose divisé en 100 parties". Donc, dans ce cas, ces parties sont des tranches de temps discrètes et quelque chose est des tranches de temps occupées par rapport à des tranches de temps inactives - le taux de tranches de temps occupées à inactives.

Puisque les processeurs fonctionnent en GHz (milliards de cycles par seconde). Le système d'exploitation découpe ce temps en unités plus petites appelées ticks. Ils ne sont pas vraiment 1/10 de seconde. Le taux de ticks dans Windows est de 10 millions de ticks par seconde et sous Linux, il est de sysconf(_SC_CLK_TCK) (habituellement 100 ticks par seconde).

Dans quelque chose comme top , les cycles CPU occupés sont ensuite décomposés en pourcentages, tels que le temps utilisateur et le temps système. En top sous Linux et perfmon sous Windows, vous obtiendrez souvent un affichage supérieur à 100%, c'est parce que le total est de 100% * the_number_of_cpu_cores.

Dans un système d'exploitation, c'est le planificateur tâche d'allouer ces précieuses tranches aux processus, c'est donc le planificateur qui signale cela.

Solution 2 :

Le temps CPU est le temps pendant lequel le processus utilise le CPU - sa conversion en pourcentage se fait en divisant par le temps réel qui s'est écoulé.

Donc, si j'ai un processus qui utilise 1 seconde de temps CPU sur une période de 2 secondes, il utilise 50 % d'un CPU.

Dans le cas de votre processus MATLAB, 217 % indique qu'il a utilisé 2,17 secondes de temps CPU par seconde au cours du dernier intervalle d'échantillonnage, ce qui monopolise 2 cœurs de processeur et en prend un tiers.


Linux
  1. Comment obtenir l'utilisation du processeur

  2. Comment produire l'effet cache cpu en C et java ?

  3. Commande top Linux :Que sommes-nous, sy, ni, id, wa, hi, si et st (pour l'utilisation du processeur) ?

  4. Exécutez AVD et VirtualBox en même temps

  5. Ping et tcpdump en même temps

Comment définir la mémoire Docker et la limite d'utilisation du processeur

Comment obtenir la date et l'heure actuelles en Python

Copier des fichiers et créer des répertoires cibles en même temps

Comment trouver les 10 principaux processus en cours d'exécution par utilisation de la mémoire et du processeur

Contrôlez l'utilisation de la RAM et du CPU par Kodi en temps réel

Les processus en veille obtiennent-ils le même temps CPU ?