有几个问题是否禁用超线程可以提高性能(例如,像这样 )。 答案(就像所有性能问题一样)当然是“根据你的工作量进行分析”。
由于在生产环境中运行实验是一个糟糕的主意(谁希望从生产实验中看到性能下降),build立一个现实的开发环境并不总是可行的,我想知道有什么测量可以确定是否超线程可能会损害性能(这样我们只能运行一个可能成功的实验!)。
笔记:
我不能分辨你是否太学术,但是对于现代 CPU上的大多数工作负载,人们build议不要使用超负荷工作。
现在,由于您没有提供应用程序要求,操作系统版本/风味/分布或硬件规格/平台/ CPU模型等细节,因此很难给出真正的洞察。
perf这样的内置工具? 但是,如果您使用Intel Nehalem或更新的CPU的系统硬件, 我会保持启用超线程,除非您有一个令人信服的理由不要。 如果你有一个确定性的工作负载或者依赖于单线程性能的东西,那么也许…但是通常还有其他一些低下的function,比如电源性能configuration文件,禁用C状态,BIOSconfiguration,OS级调优。
由于在生产环境中运行实验是一个糟糕的主意
不,这不对。 对您的现场环境进行逼真的模拟将花费您的IT开支总额 – 不仅是造成服务器基础架构重新devise的成本,与创build具有代表性的模拟需求相比,这个数字还是微不足道的 。 有很多产品声称这样做 – 但我还没有看到任何接近的产品。
即使是那些拥有天文数字预算的公司,在经过生产testing之前,也不会考虑任何有价值的东西。
起来
至于你可以测量什么来确定你的系统是否由于configuration的改变而改善或恶化,因为你没有告诉我们关于服务或组件的任何事情,所以我们不能回答这个问题。