在这个盒子里我运行一个应用程序,由于许可的原因,只会使用CPU0-CPU3.
对我来说,四核CPU上的更快的内核可能需要枚举到操作系统中的CPU0-CPU3,这给了我一个性能奖励:a)使用更快的时钟核心,以及b)将所有线程保持在同一个物理CPU上.
有没有办法在BIOS中,或在Linux中的配置文件或引导选项中实现这一点?
具体的CPU型号是:
英特尔(R)Xeon(R)CPU E5649 @ 2.53GHz(六核)
英特尔(R)Xeon(R)CPU E5640 @ 2.67GHz(四核)
解决方法
这很疯狂,你知道吗?它不受支持,可能对您的硬件不利.您应该在服务器中使用同等规格的处理器.
我想你只需要在cgroup或shield(或通过taskset)中执行你的应用程序,它只包含你想要使用的CPU核心.您还可以使用numactl固定对该CPU的内存访问.但实际上,为什么你不能完全删除较慢的CPU或支付将系统纳入规范所需的费用.
也许显而易见的是,如果您的应用程序被硬编码为使用CPU0-CPU3,那就是物理交换套接字……但实际上,只需在这里运行一个CPU.
如果您指的是ProLiant DL380 G7硬件,那么“更快”的CPU很可能是Nehalem 5500系列触发器,而较慢的六核CPU是Westmere.你有基准吗?安装了哪些特定的CPU?
编辑:
好的,所以这些至少是同一代/步进的CPU.但它仍然是一个坏主意…… CPU规格的差异甚至不是那么大(与3.47GHz的英特尔X5690相比).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。