Temps processeur (CPU) volé

Si vous utilisez EC2 une autre infrastructure virtualisée basée sur Xen comme OracleVM, vous aurez peut-être la surprise de découvrir qu’on vous vole votre CPU ! La colonne %st de la commande top montre en effet ce phénomène dans lequel vos quotas d’exécutions sont limités par l’hyperviseur. Vous retrouvez cette même information dans la section CPU -> st de VMSTAT; pour en savoir plus sur cette colonne, voici un extrait du manuel VMSTAT :

man vmstat 
[...]
CPU
These are percentages of total CPU time.
us: Time spent running non-kernel code. (user time, including nice time)
sy: Time spent running kernel code. (system time)
id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time.
wa: Time spent waiting for IO. Prior to Linux 2.5.41, included in idle.
st: Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown.

Pour un peu que vous tentiez d’utiliser beaucoup de temps processeur, vous découvrirez ce phénomène :

$ vmstat 1 6
procs ---------memory---------- -swap- --io-- system -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 280028 13712 300324 0 0 22 9 24 49 0 0 99 0 0
1 0 0 280028 13712 300324 0 0 0 0 9 6 2 0 0 0 98
4 0 0 280028 13712 300324 0 0 0 0 17 5 2 0 0 0 98
3 0 0 280028 13712 300324 0 0 0 0 12 8 3 0 0 0 97
4 0 0 280028 13712 300324 0 0 0 0 18 8 2 0 0 0 98
2 0 0 280028 13712 300324 0 0 0 0 10 8 2 0 0 0 98