我的pc配备了支持虚拟化的第10代酷睿i7 vPRO。8个内核+8个虚拟内核。(i7-10875H,彗星湖)
每个物理核心被拆分成对,因此核心1托管虚拟核心0和1,核心2托管虚拟核心2和3。我注意到在任务管理器中,从使用率较高的情况来看,每个核心对的第一项似乎是首选核心。我确实为某些繁重的程序手动设置了一些亲和力,但我总是将它们设置为4个一组,从0-3,4-7,8-11,12-15,并且从不不匹配不同的逻辑处理器。
我想知道为什么会发生这种情况--偶数核是否等同于物理核,后者可能会稍微快一点?如果是这样的话,如果我运行的程序线程数不高,在没有虚拟化的情况下,我的时钟速度会稍微快一些吗?
发布于 2021-02-03 04:13:12
一般而言(对于“调度器理论”):
当然,一个好的操作系统应该知道每个任务的首选项(如果每个任务都关心性能、功耗或安全性),并且会做出明智的决策来处理具有不同首选项的混合任务。遗憾的是,没有好的操作系统--大多数操作系统和API都是在20世纪90年代或更早的时候设计的(当时SMP刚刚起步,而且所有CPU都是完全相同的),并且缺乏做出智能决策所必需的任务信息;因此,他们认为性能是所有任务唯一重要的因素,这导致了“任务在可能的情况下跨物理核心分布,即使它不是理想的”行为。
https://stackoverflow.com/questions/66014168
复制相似问题