在 Ubuntu 11.4 Virtual Box 上获取 CPU 窃取时间

在 Ubuntu 11.4 Virtual Box 上获取 CPU 窃取时间

我正在尝试检查虚拟机中的 CPU 窃取时间。目标是能够检测我的应用是否在虚拟机中运行在过度使用的硬件上。

我目前正在进行测试,为后续的生产做准备。

我尝试在 Ubuntu 11.04 上测试这一点,在 Max OS 10.6.8 上的 Virtual Box 4.1.4 上运行。

当我运行 vmstat 命令时,手册页让我相信我应该在 CPU 部分下看到一个“st”列。但我没有看到。我只看到“us sy id wa”。

我可以执行“vmstat -s”,然后得到“0 stealing cpu ticks”。即使我将主机加载到虚拟机仅获得 20% 的 CPU(并且 VB 正在运行多个 CPU 消耗循环),我得到的也是 0。

我感觉 vmstat 没有检测到 Ubuntu 中被盗的 CPU 周期。

我还应该做些什么吗?或者我的基本理解有误?

有没有更好的方法来检测虚拟机中 CPU 时间是否不足?

答案1

如果你运行 top,你应该会看到一行 Cpu(s):。CPU 行的末尾是 '%st'。它代表“Steal Time”。Steal time 是指 CPU 正在运行某项任务,但虚拟机管理程序正在运行其他任务的时间。

如果您在 top 中没有看到 %st 或者在 'vmstat -s' 中没有看到 'Stolen CPU ticks',那么我会尝试升级您的 procps 安装。

相关内容