Lorsque j'émets top
sous Linux, j'obtiens un résultat similaire à celui-ci:
Une des lignes contient des informations sur l’utilisation de l’UC:
Cpu(s): 87.3%us, 1.2%sy, 0.0%ni, 27.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Bien que je connaisse les définitions de chacune d’elles (loin ci-dessous), je ne comprends pas ce que ces tâches signifient exactement.
hi
- Que signifient les interruptions matérielles de maintenance?si
- Que signifient les interruptions de service dans les logiciels?st
- Ils disent que c'est "le temps de processeur associé à l'attente involontaire du processeur virtuel pendant que l'hyperviseur dessert un autre processeur (ou)% de temps CPU volé à partir d'une machine virtuelle".
Mais qu'est-ce que cela signifie réellement? Quelqu'un peut-il être plus clair?
J'énuméré tous us
, sy
, ni
, etc., parce que cela pourrait aider les autres à la recherche de la même chose. Cette information ne figure pas dans les pages de manuel.
us: user cpu time (or) % CPU time spent in user space
sy: system cpu time (or) % CPU time spent in kernel space
ni: user nice cpu time (or) % CPU time spent on low priority processes
id: idle cpu time (or) % CPU time spent idle
wa: io wait cpu time (or) % CPU time spent in wait (on disk)
hi: hardware irq (or) % CPU time spent servicing/handling hardware interrupts
si: software irq (or) % CPU time spent servicing/handling software interrupts
st: steal time - - % CPU time in involuntary wait by virtual cpu while hypervisor is servicing another processor (or) % CPU time stolen from a virtual machine
cat /proc/interrupts
(manman proc
pour doc. À propos de ce fichier).la source
La valeur "st" peut être simplement expliquée à l'aide d'une instance T2.micro EC2 d'AWS.
Dans la documentation AWS, vous pouvez lire que vous n'obtenez que 10% de performances de base par VCPU. Cela signifie que si vous avez un processus qui consomme beaucoup de temps CPU, la valeur "st" restera autour de 90 puisque vous n'êtes autorisé à utiliser que 10% du VCPU. La somme des autres valeurs restera autour de 10.
AWS utilise donc l'hyperviseur pour vous permettre uniquement d'accéder à une certaine quantité de puissance de calcul. Cela vous ralentit par intention, car vous utilisez uniquement un type d'instance de niveau inférieur.
J'espère que cela rend les choses un peu plus faciles à comprendre.
la source