使用 top 监控 Virtualbox 的 CPU 使用情况

使用 top 监控 Virtualbox 的 CPU 使用情况

我正在使用topLinux 中的命令密切关注正在运行 VM 的 Virtualbox。

服务器中当前的 CPU 是四核 Xeon 处理器 3.3 Ghz,我只为 VM 分配了一个核心。

我的问题是,如果top报告称 Virtualbox 进程消耗了 30% 的 CPU,这是针对我分配给 VM 的单个核心,还是针对所有 4 个核心?

如果 VB 占用了整个 CPU 的 30%,我想我可能需要为 VB 分配更多核心。客户报告称,他们的客户端计算机在访问数据库时不断冻结。

答案1

默认情况下,top报告使用百分比为单身的CPU。这与 VirtualBox 设置无关,这是它的top工作原理,并且对于所有程序都一样。这就是为什么您经常看到 CPU 使用率超过 100% 的原因top。看看我的答案这里更多细节。

您可以在运行时点击(大写 I),top以总 CPU 功率(所有核心)的百分比显示 CPU% 。Itop


编辑以回答您的评论:

  1. 因此,如果所有 4 个核心都达到最大值,我是否会看到 CPU 使用率飙升至 400%?

    对,就是这样。

  2. 如果我看到所有进程的总使用率为 30%,这是否意味着只有单个核心的使用率为 30%?

    再次强调,是的,确实如此。嗯,几乎完全一样。它不是单个核心的 30%,因为不同的进程可以在不同的核心上运行。如果您看到总使用率为 30%,这意味着所使用的总处理能力相当于单个核心的 30%。这可能意味着您有一个核心占 10%,两个核心占 5%,一个核心占 20%。

  3. 而且我还猜测这实际上并不能反映在 VB 下运行的 VM 的 CPU 使用率?

    不确定你的意思。VirtualBox 的使用率top是多少单身的核心是 VBox 当时使用的。这与虚拟机的虚拟的CPU 正在使用中。要查看该信息,您需要使用在客户操作系统上运行的软件。

答案2

如果你有权访问主机系统,VBoxManage 指标易于使用:

vboxmanage metrics setup --period 1 --samples 1 "*" "*CPU/*"

配置将捕获哪些指标以及针对哪个系统/虚拟机。

然后:

vboxmanage metrics collect "*" "*CPU/*:avg"

将显示主机上以及每个正在运行的虚拟机的处理器使用情况的汇总。

请注意,为了查看Guest/*统计数据,你可能需要安装新增嘉宾在每个虚拟机上。

相关内容