Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Virtual machine VirtualBox中的来宾操作系统使用的内核数超过分配的内核数_Virtual Machine_Virtualbox_Ubuntu 10.04 - Fatal编程技术网

Virtual machine VirtualBox中的来宾操作系统使用的内核数超过分配的内核数

Virtual machine VirtualBox中的来宾操作系统使用的内核数超过分配的内核数,virtual-machine,virtualbox,ubuntu-10.04,Virtual Machine,Virtualbox,Ubuntu 10.04,我在VirtualBox中做一个实验。这是我的设置 我在来宾操作系统中运行了一个简单的代码 # include <stdio.h> # include <stdlib.h> int main() { while(1) { int * p = (int *)malloc(sizeof(int)); } return 0; } #包括 #包括 int main() { 而(1) { int*p=(int*)malloc(

我在VirtualBox中做一个实验。这是我的设置

我在来宾操作系统中运行了一个简单的代码

# include <stdio.h>
# include <stdlib.h>

int main()
{
    while(1)
    {
        int * p = (int *)malloc(sizeof(int));
    }

    return 0;
}
#包括
#包括
int main()
{
而(1)
{
int*p=(int*)malloc(sizeof(int));
}
返回0;
}
我看到主机操作系统的所有4个内核中同时出现峰值

我认为来宾操作系统应该使用单核。 我做错了什么,或者这种行为正常吗(如果是,为什么)

PS:我的核心设置

我的猜测是,虽然您的代码只占用一个内核,但在操作系统执行过程中,您的程序在执行时可以在不同的内核上切换上下文。这就是为什么你看到所有的核心使用,但尖峰出现在不同的时间。(但这使得测量比查看资源监视器更准确)。

我在考虑这个逻辑,但它不是非常低效吗?@xavier666,我不知道。我认为这可能是必要的,因为具有无限循环的程序(如您的示例)可能会阻止执行必要的操作系统进程。此外,如果设计良好,主机操作系统不应该花费太多的时间进行切换,而不是花太多的时间进行计算。