当我在 Windows 7 中使用 Virtual Box 时,我可以选择分配给来宾操作系统的 CPU 核心数。现在我使用的是Linux,当我安装Virtual Box时,我找不到该选项。系统监视器显示,当虚拟机繁忙时,只有一个 CPU 核心达到 100%,而其他核心则接近 0%。如何让 Linux 中的 Virtual Box 使用多个 CPU 核心?
我想在我的 Ubuntu 13.10 上安装一个相对较大的包,我想使用我机器的所有处理核心。我打字
使-j N
N我猜可用内核数+1在哪里。但问题是我不知道我有多少个内核。我怎样才能在 Ubuntu 中弄清楚呢?
我对此感到困惑......如果一个 CPU 有 2 个逻辑内核,它可以 100% 并发运行两个程序,是吗?否则,一个 CPU 上的 2 个程序必须是 100% 时分的(不能独立运行,因为同一个单核必须在上下文等之间切换)。如果是这样,内核和线程之间的程序共享如何?
例如,假设我有 100 个进程在 2 个内核上运行……操作系统会尝试在每个内核上划分 50 个进程以实现负载平衡吗?它们会随机分散吗?
假设我在四核英特尔芯片上启动 mspaint.exe ......它将从哪里执行(核心 1、2、3、4?),它会继续在那里执行直到关闭吗?基本上,哪个逻辑 CPU 将对哪个程序执行什么操作,并且在程序运行时,内核是否会并行处理来自 RAM 的不同执行点?
另外,如果您在 4 个内核上使用 200 个线程和 100 个进程……每个线程是否会保留在负载平衡内核上的上下文之间?
最后一个问题:是否真的可以选择一个特定的内核,或者直接为多核编程,而无需透明守护程序或操作系统为您随机执行?如果所有人都说“只使用线程”,那怎么办?是否使用映射到内核的多线程?如果是这样,如果单核上的线程不能同时工作,如何在没有操作系统干预的情况下使用为核定制的线程?
如果我的 CPU 的额定频率为 2GHz,并且有 4 个内核支持 8 个线程,那么所有 8 个线程都以额定时钟速度运行吗?或者它们每个都以 1GHz 的速度运行,因为线程数是内核数的两倍?
core ×4
cpu ×3
multi-core ×2
threads ×2
clockspeed ×1
linux ×1
make ×1
memory ×1
process ×1
ubuntu ×1
virtualbox ×1