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