top、w、ps 显示错误的 CPU 时间

top、w、ps 显示错误的 CPU 时间

我最近在 Amazon EC2 上的一些 Ubuntu 服务器 (10.04.2) 上发现了这种特性(没有在任何物理机箱上注意到这一点),并且无法完全理解它是如何获得这些数据的。它们不可能是真实的,因为我确信计算机还没有出现这么长时间。这是 EC2/Xen 的本质特性吗?

辅助;

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
--snip--
root      2382 356012033  0.1 427264 11512 ?   Ss   20:56 17179869:11 /usr/sbin/apache2 -k start
root      2678 23695615  0.0 19224 1504 pts/0  S+   21:02 22212356:09 top
--snip--

顶部;

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+    TIME COMMAND                                                                                                                     
2382 root      20   0  417m  11m 5464 S    0  0.1 54518724d      ? apache2                                                                                                                     
  37 root      20   0     0    0    0 S    0  0.0 54518724d      ? xfslogd/0                                                                                                                   
 157 root      20   0     0    0    0 S    0  0.0 54518724d      ? kjournald                                                                                                                   
 492 root      20   0     0    0    0 S    0  0.0 54518724d      ? flush-8:1                                                                                                                   
1279 root      20   0     0    0    0 S    0  0.0 54518724d      ? flush-8:96 
--snip--

瓦;

USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
user     pts/0    xxxxxxxxxxxxxxxx. 20:23   32:23  16174544116days  0.03s sshd: user 

有任何想法吗?

答案1

不幸的是,这在 EC2 中很常见,云环境中的虚拟机通常会丢失 CPU 周期(因为它们当然无法控制下面的硬件),这可能会使内核在跟踪进程的 CPU 时间利用率方面有点愚蠢,我以前在我生成的实例中看到过这种情况,有点烦人 :/

相关内容