我将最大化运行一些 CPU 密集型处理的几个盒子。
每个进程只使用 1 个线程,所以我将并行运行它们。我正在使用具有 4 个内核的机器,因此启用了超线程的机器是 8 个。
每个进程还使用 1GB 的 RAM,因此如果启用超线程,我将需要每台机器 8GB 的 RAM,如果禁用超线程,则需要 4GB。
我的问题是:我应该启用还是禁用超线程?
RAM 的成本不是问题,而是处理的速度。启用或禁用超线程会更有效吗?
确定的唯一方法是进行基准测试。
也就是说,很少有 HT 在现代 CPU 上减慢速度的情况,但是从 4 个进程移动到 8 个进程可能会增加足够的 I/O,使系统的其他区域(磁盘、网络、RAM 带宽等)变成瓶颈。 )
我认为无论如何,都应该启用 HT,但是您需要对系统进行基准测试,以查看一次可以运行多少作业以获得最大吞吐量。
如果不出意外,操作系统可能能够利用一些额外的执行资源。