是否有可能影响CPU在Linux下枚举的方式?

我有一个HP DL380 G7,其中有两个不匹配的CPU。 一个是具有较快内核的四核CPU,一个是具有较慢内核的六核CPU。

在这个盒子上我运行一个应用程序,由于许可原因将只使用CPU0-CPU3。

对于我来说,希望四核CPU上更快的核心可以枚举到操作系统中的CPU0-CPU3,这为我a)使用更快的时钟核心带来了性能上的好处,b)保持所有线程在同一个物理CPU上。

有没有办法做到这一点,无论是在BIOS中,或在Linux的configuration文件或启动选项?

具体的CPU型号是:

Intel(R)Xeon(R)CPU E5649 @ 2.53GHz(六核)

Intel(R)Xeon(R)CPU E5640 @ 2.67GHz(四核)

    武汉理工大学?!?

    这很疯狂 ,你知道吗? 它不受支持,可能不适合您的硬件。 你应该在服务器上使用同样规格的处理器。

    我想你们夫妇只需要在一个只包含你想使用的CPU内核的cgroup或者shield(或者通过taskset )中执行你的应用程序。 你也可以通过numactl内存访问权限固定在那个CPU上。 但是,实际上,为什么你不能完全移除速度较慢的CPU,或者为了使系统进入规范而付出代价。

    也许显而易见的是,如果您的应用程序使用CPU0-CPU3进行硬编码,则需要物理上交换插槽……但实际上,只需要在这里运行一个CPU即可。

    如果您指的是ProLiant DL380 G7硬件,则“更快”的CPU可能是Nehalem 5500系列处理器,较慢的六核CPU是Westmere。 你有没有基准? 哪些特定的CPU安装?

    编辑:

    好吧,这些至less是同一代/步进的CPU。 但它仍然是一个坏主意… CPU规格的差异甚至不是那么好(比如在3.47GHz的英特尔X5690)。