VirtualBox 中的 Guest OS 使用的内核多于分配的内核
Guest OS in VirtualBox using more cores than allocated
我在 VirtualBox 中做了一个实验。这是我的设置。
我在Guest运行一个简单的代码OS
# include <stdio.h>
# include <stdlib.h>
int main()
{
while(1)
{
int * p = (int *)malloc(sizeof(int));
}
return 0;
}
我看到主机的所有 4 个核心都同时出现尖峰 OS。
我以为来宾 OS 应该使用单核。
我做错了什么或者这种行为是否正常(如果是,那为什么)?
PS : 我的核心设置
我的猜测是,虽然您的代码只占用一个内核,但您的程序在执行时可以在操作系统执行期间切换到不同内核上的上下文。这就是为什么您会看到所有内核都已使用,但峰值出现在不同时间的原因。 (但这比查看资源监视器更准确)。
我在 VirtualBox 中做了一个实验。这是我的设置。
我在Guest运行一个简单的代码OS
# include <stdio.h>
# include <stdlib.h>
int main()
{
while(1)
{
int * p = (int *)malloc(sizeof(int));
}
return 0;
}
我看到主机的所有 4 个核心都同时出现尖峰 OS。
我以为来宾 OS 应该使用单核。 我做错了什么或者这种行为是否正常(如果是,那为什么)?
PS : 我的核心设置
我的猜测是,虽然您的代码只占用一个内核,但您的程序在执行时可以在操作系统执行期间切换到不同内核上的上下文。这就是为什么您会看到所有内核都已使用,但峰值出现在不同时间的原因。 (但这比查看资源监视器更准确)。