标签: hyperthreading

从 Linux 中禁用超线程(无法访问 BIOS)

我有一个在远程设施上运行金融交易应用程序的系统。我无权访问 ILO/DRAC,但需要禁用超线程。该系统运行 Intel Westmere 3.33GHz X5680 六核 CPU。我可以重新启动,但要确保系统由于性能问题而未启用超线程。有没有一种干净的方法可以从 Linux 中做到这一点?

编辑:noht添加到内核引导命令行的指令不起作用。RHEL 也一样。

参见:https : //bugzilla.redhat.com/show_bug.cgi?id=440321#c9

hp-proliant hyperthreading dell-poweredge

34
推荐指数
7
解决办法
6万
查看次数

禁用超线程会提高我们 SQL Server 安装的性能吗

相关:SQL Server 和超线程的当前智慧

最近,我们将 Windows 2008 R2 数据库服务器从X5470 升级X5560。理论上,两个 CPU 的性能非常相似,如果有的话,X5560 稍微快一点。

但是,SQL Server 2008 R2 的性能在过去一天左右的时间里一直很糟糕,CPU 使用率也很高。

页面的预期寿命很长,页面的缓存命中率几乎达到 100%,因此内存不是问题。

当我跑:

SELECT * FROM sys.dm_os_wait_stats 
order by signal_wait_time_ms desc
Run Code Online (Sandbox Code Playgroud)

我有:

wait_type waiting_tasks_count wait_time_ms max_wait_time_ms signal_wait_time_ms
-------------------------------------------------- —————————————————————————— -------------------- --------------------
XE_TIMER_EVENT 115166 2799125790 30165 2799125065
REQUEST_FOR_DEADLOCK_SEARCH 559393 2799053973 5180 2799053973
SOS_SCHEDULER_YIELD 152289883 189948844 960 189756877
CXPACKET 234638389 2383701040 141334 118796827
睡眠任务 170743505 1525669557 1406 76485386
LATCH_EX 97301008 810738519 1107 55093884
LOGMGR_QUEUE 16525384 2798527632 20751319 4083713
写日志 …

hyperthreading sql-server

28
推荐指数
5
解决办法
4万
查看次数

Hyper-V 和超线程:开启还是关闭?

随着新的 Xeon CPU 支持超线程,目前在 Hyper-V 主机上使用(或不使用)它的智慧是什么?

我最初的印象是在虚拟主机环境中打开它可能是有害的,因为“额外”的 CPU 不是真正的核心。但是,我还阅读了(未经证实的)关于 MS 所做的一些努力以使 Hyper-V 在超线程环境中运行良好的评论。

有没有人在这方面有任何可靠的信息或经验?干杯!

hyper-v hyperthreading

25
推荐指数
3
解决办法
3万
查看次数

超线程应该使用多少 CPU?

假设我有一个 18 核的服务器 CPU,开启了超线程,这意味着我可以在 htop 中看到 36 个 CPU。

为了充分利用 CPU 并且不影响单线程性能,我是否应该将所有 36 个“核心”都以 100% 运行为目标,而 HT 核心只会做更少的工作并仍然报告 100%,或者这意味着“完整”内核已经被其“HT 内核”上的任务中断,从而减少了单线程工作?

我知道有很多变量会影响 HT 性能,我只想知道处理 HT 时 cpu 表的含义。

hyperthreading

23
推荐指数
2
解决办法
2451
查看次数

超线程和虚拟机?

我已经看过这个线程:Hyper-V 和超线程:开还是关?,但唯一的答案是 Windows 特定的....

我正在构建一个 VM 服务器(如果有区别,则使用 Proxmox VE)并且想知道超线程如何影响虚拟机......

具体来说,如果我最大化虚拟机的数量,超线程会有所帮助还是会损害性能?

此外,最大的虚拟机将是具有约 30 个客户端(4 核/8 GB RAM)的终端服务器,以及一个文件服务器(如果有帮助)。

更新:服务器是 Dell R410,配备 1TB RAID 10、32 GB RAM 和双 Intel Xeon E5530(我不确定确切型号,但它是具有 2+ Ghz 的 E55xx)

更新:大多数虚拟机将在 KVM 上。

virtualization hyperthreading kvm-virtualization

15
推荐指数
1
解决办法
3万
查看次数

为什么禁用超线程会使我的服务器变慢?

我有一个主要运行 Ruby 脚本的服务器。因为 Ruby (2.7) 有一个 GIL,所以它是单线程的。

我的计算机(服务器)有一个 Intel i3 双核处理器,但由于超线程,我看到 4 个内核。Ruby 在高负载下仅使用 25% 的 CPU。我想看看禁用超线程是否有益于在单线程上运行的编程语言。

此外,我的服务器正在运行一个非常小的桌面环境,它使用的 CPU 不超过 2%。所以我想让 Ruby 可以使用大部分资源。我做了一个基准测试,看看我是否真的通过禁用超线程获得了任何性能提升。


基准:

我编写了一个简单的 Ruby 脚本,它运行一个 while 循环并将循环计数器的值与另一个变量相加。这个程序应该使用 100% 的 CPU 内核:

#!/usr/bin/env ruby
$-v = true

LOOPS = ENV['N'].to_i.then { |x| x < 1 ? 100_000_000 : x } + 1
i, j, t = 0, 0, Time.now

puts "Counting till #{LOOPS - 1} and adding values to V..."
while (i += 1) < LOOPS
    if i % …
Run Code Online (Sandbox Code Playgroud)

hyperthreading

14
推荐指数
1
解决办法
7095
查看次数

SQL Server 和超线程的当前智慧?

很多文章(请参阅Slava Oks 的原始 SQL 2000 文章Kevin Kline 的 SQL 2005 更新)建议在 SQL 服务器上禁用超线程,或者至少在服务器上启用超线程之前测试您的特定工作负载

随着真正的多核处理器取代超线程处理器,这个问题逐渐变得不那么重要,但目前在这个问题上的智慧是什么?这个建议是否对 SQL 2005 64 位、SQL 2008 或 Windows Server 2008 有任何改变?

理想情况下,这应该在登台环境中提前进行测试,但是对于已经启用 HT 的服务器呢?如何判断我们遇到的性能问题是否与 HT 相关?与我在提高 SQL 性能时通常追求的所有其他事情相反,是否有一些特定的 perfmon 计数器组合可能会指向这个方向?

编辑:这特别有吸引力,因为我的一些高 cpu 服务器有可能得到全面改进,但客户端将希望看到一些具体的东西,以帮助我确定哪些服务器真正可以从禁用超线程中受益。当然,传统的性能故障排除正在进行中,但有时任何一点点帮助。

hyperthreading sql-server

7
推荐指数
1
解决办法
8072
查看次数

任务集核心数问题

我有启用超线程的四核 CPU。所以我有 8 个逻辑核心。我想将我的应用程序限制为仅使用 4 个内核,并且我希望这 4 个内核是不同的物理内核。我应该使用哪些任务集选项(核心编号)?:

  • taskset -c 0,1,2,3 命令或
  • 任务集 -c 0,2,4,6 命令

谢谢你。

linux unix central-processing-unit multi-threading hyperthreading

7
推荐指数
1
解决办法
8690
查看次数

Nginx worker_processes 和多核 cpu 的 - 超线程核心数吗?

很多时候,当阅读有关 nginx 的推荐 worker_processes 时,会说这应该设置为托管 nginx 的服务器的核心数。

我们想知道我们是否也应该为此计算 HT 内核的数量?

还是我们只计算真正的物理内核的数量?

谢谢!

nginx multi-core threads hyperthreading

6
推荐指数
1
解决办法
4037
查看次数

VMware CPU 超线程调度亲和性

我已经查看了everyware并阅读了一堆关于此的文档,但还没有找到直接的答案,所以这里是:

vCenter 的“资源”选项卡中有一个设置,可让您配置超线程核心共享。我将此设置为“ANY”。

我的问题是关于调度亲和性。如果我将要分配特定内核的文本字段留空,会发生什么情况?

VMWare 是处理所有逻辑核心的超线程还是禁用超线程?

注意:Scheduling Affinity Group Box 说

超线程状态:活动
可用 CPU:##(逻辑 CPU)

virtual-machines hyperthreading affinity

6
推荐指数
1
解决办法
4095
查看次数