Quando emito top
no Linux, obtenho um resultado semelhante a este:
Uma das linhas tem informações de uso da CPU representadas desta forma:
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
Embora conheça as definições de cada uma delas (muito abaixo), não entendo exatamente o que essas tarefas significam.
hi
- o que significa interrupções no hardware de serviço?si
- o que significa interrupção do software de serviço?st
- eles dizem que é o "tempo de CPU em espera involuntária pela CPU virtual enquanto o hypervisor está atendendo a outro processador (ou)% de tempo de CPU roubado de uma máquina virtual".
Mas o que isso realmente significa? Alguém pode ser mais claro?
I listados todos us
, sy
, ni
, etc, porque poderia ajudar os outros que procuram o mesmo. Esta informação não está nas páginas do manual.
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
para doc. Sobre esse arquivo).fonte
O valor "st" pode ser simplesmente explicado usando uma instância T2.micro EC2 da AWS.
Na documentação da AWS, você pode ler que obtém apenas um desempenho de linha de base de 10% por VCPU. Isso significa que se você tiver um processo que consumiria muito tempo da CPU, o valor "st" permanecerá em torno de 90, pois você pode usar apenas 10% da VCPU. A soma dos outros valores permanecerá em torno de 10.
Portanto, a AWS está usando o hipervisor para permitir apenas o acesso a uma certa quantidade de poder de computação. Isso diminui a velocidade por intenção, pois você está usando apenas um tipo de instância de nível inferior.
Espero que isso torne as coisas um pouco mais fáceis de entender.
fonte