Os suspeitos do costume seriam:
-
vmstat
pode estar falhando ao lidar com quebra de contadores, contadores não devem quebrar com freqüência, e deve ocorrer mais em user / system / idle do que iowait (para cargas normais) -
vmstat
está falhando ao analisar/proc/stat
, isso pode ser devido direta ou indiretamente a um tipo de dados de 64 bits, estouro ou análise incorreta devido a campos grandes / ausentes / mesclados - timewarp está inclinando os cálculos
O kernel mantém o controle do usuário / nice / system / etc como contadores (tipicamente 100 / CPU), vmstat
e outros programas calculam médias baseadas em deltas de tempo, por exemplo. 5 segundos para vmstat 5
.
Tempo exato pode ser um problema em um ambiente virtual, embora não com um sintoma específico como descrito ( vmstat
calcula esses números usando o mesmo timestamp)
Tendo verificado procps / libproc, ele lê /proc/stat
como inteiros long-long e calcula usando floats de precisão dupla - não vejo nenhum problema lá.
Você está executando um kernel OpenVZ, você deve verificar se /proc/stats
está bem formado, pode ser este bug: link
Você pode ter mais sorte ao analisar o /proc/vz/vestat
: link