ENTRADA:
0:root@server:/root # vmstat 60 2
System configuration: lcpu=52 mem=131072MB ent=10.00
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------------------
r b avm fre re pi po fr sr cy in sy cs us sy id wa pc ec
5 0 13254063 12378057 0 0 0 0 0 0 3411 22516 9063 10 2 88 0 1.94 19.4
5 0 13341251 12290955 0 0 0 0 0 0 3507 20192 9062 9 2 89 0 1.88 18.8
0:root@server:/root #
SAÍDA NECESSÁRIA:
0
É zero, uma vez que a média r < lcpu. Os valores de "id" não são importantes neste caso.
outro INPUT:
0:root@server:/root # vmstat 60 2
System configuration: lcpu=52 mem=131072MB ent=10.00
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------------------
r b avm fre re pi po fr sr cy in sy cs us sy id wa pc ec
52 0 13254063 12378057 0 0 0 0 0 0 3411 22516 9063 10 2 6 0 1.94 19.4
53 0 13341251 12290955 0 0 0 0 0 0 3507 20192 9062 9 2 4 0 1.88 18.8
0:root@server:/root #
SAÍDA NECESSÁRIA:
95
É 95, porque a média r > lcpu.
E é 95, porque id significa ocioso, mas precisamos do consumo de CPU. Então 6 + 4 é o valor inativo, a média deles é 5. Então 100-5 = 95% é a carga da cpu.
A média é necessária nos "r" também! Não apenas em "id". No último exemplo é 52,5, então foi maior que 52.
Este é um problema geral do UNIX para medir o consumo de CPU. Se r > lcpu e o uso da CPU% é muito alto, então temos um gargalo na CPU.
É interessante que não há solução para o processamento da saída do vmstat, por isso estou perguntando aos grandes mestres do awk sobre isso.
Pergunta : Então eu preciso de algo assim: "vmstat 60 2 | GODLY-AWK-MAGIC-AQUI"
Para mais detalhes, consulte (não consegui encontrar um link melhor):
link
If runnable threads (r) divided by the number of CPU is greater than
one -> possible CPU bottleneck