
我有一個 Amazon EC2 t2.medium 實例,顯示非常奇怪的 CPU Steal Time 值,大部分是大負數,而且空閒 CPU 數也非常高。
有什麼可以解釋這些奇怪的數字嗎?我們在這裡缺少任何系統更新/錯誤修復嗎?
top - 13:36:23 up 51 days, 2:49, 1 user, load average: 0.35, 0.15, 0.12
Tasks: 97 total, 1 running, 96 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,56000.0%id,200.0%wa, 0.0%hi, 0.0%si,-3849124577280.0%st
Mem: 4047964k total, 3905488k used, 142476k free, 29760k buffers
Swap: 0k total, 0k used, 0k free, 269332k cached
答案1
我想我自己發現了它,似乎這是 Kernel/Xen/Kvm 領域的一個錯誤,它從 Linux Kernel 4.8 開始發生,並在 Linux Kernel 4.11 中修復。我們運行的是 4.9.x,因此受到了影響,但這畢竟不是實際的竊取情況,而只是由於核心內部的數字溢出而導致的錯誤報告。
看https://0xstubs.org/debugging-a-flaky-cpu-steal-time-counter-on-a-paravirtualized-xen-guest/寫了一篇非常好的文章。