在Core i7 Mac上禁用Turbo Boost?

时间:2011-03-03 09:03:46

标签: macos intel

有没有办法在运行Mac OS X的Core i7 mac上以编程方式禁用Turbo Boost?我需要能够在代码优化期间进行基准测试等。如果失败了,任何可以禁用/启用Turbo Boost的实用程序,即使需要重启,也会很有用。

在SO上有一个相关的问题(不是特定于Mac的):How to turn off Turbo Boost temporarily?但是即使是PC,似乎也没有办法以编程/动态的方式做到这一点?

5 个答案:

答案 0 :(得分:14)

我编写了内核扩展,让你禁用TB,玩得开心: https://github.com/nanoant/DisableTurboBoost.kext

如果你想在Linux上禁用TB另一个配方:http://luisjdominguezp.tumblr.com/post/19610447111/disabling-turbo-boost-in-linux

答案 1 :(得分:4)

你做不到。需要从BIOS配置某些内容,例如TurboBoost或Vt。

特别是,这是通过IA32_FEATURE_CONTROL MSR完成的。在PC上,在启动时MSR解锁,BIOS设置正确的位以启用或禁用功能。配置完成后,BIOS会锁定MSR以使更改生效并防止将来修改。

我不知道在PC进入保护模式之前是否可以再次解锁MSR,我不知道在使用EFI而不是BIOS的MacBook上如何工作。您可能能够通过各种EFI扩展来实现它。

答案 2 :(得分:4)

CPUID.com的Tmonitor实用程序可以在Windows中即时禁用/启用Turbo Boost,而不是在启动时!必须有办法在OSX中做同样的事情。

答案 3 :(得分:4)

我刚编写了一个允许加载/卸载之前提到的内核扩展的应用程序,有助于跟踪显示CPU Temp&当前的风扇速度。

您可以在此处查看https://github.com/rugarciap/Turbo-Boost-Switcher

以下是http://i.stack.imgur.com/tsKaG.png

的截图

答案 4 :(得分:1)

最后似乎有一个很好的解决方案,我今天在Core i7 MacBook Pro上使用Mac OS X Lion进行了测试,它似乎运行良好。波兰克拉科夫Jagiellonian大学并行计算研究员Adam Strzelecki写了DisableTurboBoost.kext - 这是一个小的kext,可以随意加载和卸载(通过命令行)来禁用/启用TurbBoost。