如何解释超线程导致服务器瘫痪

如何解释超线程导致服务器瘫痪

去年,我委托了 2 台全新的服务器,但由于性能不佳,它们无法使用。这两台服务器都是配备 1 个处理器的 Dell R620 服务器。一台有 6 个内核,另一台有 8 个内核。一台装有 SLES 11SP3 和 Oracle,另一台装有 Windows 2008 R2。

从我安装操作系统的那一刻起,Windows 服务器就很慢。从启动到应用程序使用,它的所有运行速度都非常慢,这让我非常震惊,但在 CPU、磁盘、内存等性能计数器上却没有出现任何明显的症状。我无法量化这种缓慢程度,但我会把它描述成好像我在 10 年前或更早的机器上安装了操作系统。我最终通过摆弄 BIOS 设置和禁用超线程来解决这个问题。我一关掉它,服务器就启动了。我估计性能提高了 10 倍。

Linux 服务器就更奇怪了。有了它,服务器最初运行得很好,持续了 3 到 4 周。然后,一天晚上,没有任何明显的触发因素,CPU 使用率突然从 4% 左右的水平线上升到疯狂的上下波动 20-60%。到处都是。同时,Oracle 连接时间从 100 毫秒增加到 500 毫秒。总体而言,Oracle 性能非常糟糕,以至于我们的生产流程受到了影响,而我们并没有在数据库上施加太大的负载。DBA 和我花了 12 多个小时,却找不到任何可以解释问题的东西。我使用 top 和 Gnome 系统监视器查看了系统,CPU 跟踪从 0-100% 完全混乱地上下波动。我们重启了几次,启动时间可能是正常时间的 2-3 倍。在绝望中,我在 BIOS 中禁用了 HT,问题终于解决了。神奇。一切都解决了。

我的问题是,其他人是否也遇到过这种情况?我在 Google 上搜索过很多次,人们谈论的是相对较小的性能影响,有好的也有坏的,但没有像我所看到的那样。我现在完全害怕超线程,并已将其设置为在新版本中禁用它的默认设置。还有其他我不明白的原因可能导致这种情况吗?

这可能是实际有缺陷的硬件吗?

编辑:正如 shodanshok 在下面提到的,这实际上可能是电源配置文件问题。今天问题再次出现,即使禁用了 HT。我进入 BIOS 设置,在“系统配置文件”下找到省电设置。默认设置为“每瓦性能”。我将其更改为“性能”,问题又消失了。很难确认这是最终修复,单是重启就可能破坏问题,但我对此感到满意。稍后我会再次跟进。

编辑 2:确认。我至少又见过两次这个问题,但都是在另外两台服务器上。在所有情况下,通过将“系统配置文件”更改为“性能”可以解决问题。进行更改后,我没有在任何服务器上看到此问题再次出现。

答案1

在最新的 DELL 服务器上,我发现基于 BIOS 的省电逻辑非常糟糕(如果不是完全损坏的话)。尝试禁用它,将服务器设置为最高性能,并让省电由操作系统控制,而不是 BIOS。

然后尝试重新启用超线程。

相关内容