Macos 在Core i7 Mac上禁用Turbo Boost?

Macos 在Core i7 Mac上禁用Turbo Boost?,macos,intel,Macos,Intel,在运行mac OS X的Core i7 mac上,有没有办法通过编程禁用Turbo Boost?我需要能够做到这一点,以便在代码优化等过程中进行基准测试。如果做不到这一点,任何可以禁用/启用Turbo Boost的实用程序,即使它需要重新启动,都会很有用 关于这一点,有一个相关的问题(不是针对Mac的):但即使对于PC机,似乎也没有办法通过编程/动态方式实现这一点。你不能。某些东西需要从BIOS中配置,如TurboBoost或Vt 特别是,这是通过IA32_功能控制MSR完成的。在PC上,启动时

在运行mac OS X的Core i7 mac上,有没有办法通过编程禁用Turbo Boost?我需要能够做到这一点,以便在代码优化等过程中进行基准测试。如果做不到这一点,任何可以禁用/启用Turbo Boost的实用程序,即使它需要重新启动,都会很有用


关于这一点,有一个相关的问题(不是针对Mac的):但即使对于PC机,似乎也没有办法通过编程/动态方式实现这一点。

你不能。某些东西需要从BIOS中配置,如TurboBoost或Vt

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


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

CPUID.com的Tmonitor实用程序可以在Windows中动态禁用/启用Turbo Boost,而不是在启动时!必须有一种方法可以从OSX内部执行相同的操作。

我编写了内核扩展,让您禁用TB,玩得开心:


如果您想在Linux上禁用TB,这里还有另一个秘诀:

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

我刚刚编写了一个应用程序,允许加载/卸载前面提到的内核扩展,帮助跟踪显示CPU温度和当前风扇转速的系统行为

你可以在这里查看


这是一个屏幕截图,它看起来像

我想你已经在开发者工具中检查了一个选项了吧?我很确定你可以关掉那里的超读功能,但我不知道涡轮增压是否也有类似的功能。没有一个开放的EFI使得在Mac上这样的事情很困难。你也许可以绕过这个问题,但不能保证。@Cody Gray:是的,已经尝试过常见的嫌疑犯-开发工具,广泛的谷歌搜索,等等。rEFIt可能是一个探索的可能途径,但我希望少一些劳动密集型的东西,比如在CPU控制寄存器中翻转一点,或者一个现有的实用程序。我相信很容易动态修改的不稳定性质,因为这些选项只供用户修改这些系统参数。或者,每个人都可以把某个人的高端处理器变成乌龟,只能处理与计算器相关的问题。在苹果的例子中,他们喜欢宣传这种耐力特性的能力。所以禁用是他们不喜欢的…@夜行侠:不,我不认为这与苹果的营销或政治有任何关系-只是Turbo Boost似乎只能在开机时启用/禁用,而且Mac电脑上没有与PC BIOS相当的功能来让你做出这种改变。这很简单,您只需要设置正确的IA32_FEATURE_CONTROL MSR位,但是,我认为您自己不能这样做,因为BIOS在完成配置时会锁定MSR。至少,在带有BIOS的PC上,可以在Mac上使用EFI扩展。更新了帖子。谢谢-附加信息很有用-听起来我需要看看rEFIt,然后看看这是否可以在引导时提供一种方法来做这类事情。非常好-谢谢-我看到这里有一个屏幕截图:显示了Turbo Boost enable/disable的菜单选项-假设它真的像你说的那样工作这一定是在MacOSX和/或Linux上实现的一种方法。这不是一个令人惊讶的发现。请注意,该工具的同一作者在你再次找到它之前两天回答了你的问题。很好的回答-我已经让@Adaś的答案成为了现在公认的答案。这个kext有助于我的macbook仍然可以工作,尽管电池几乎没电了。谢谢!这太棒了。谢谢Adaś当然,这就是我创建它的原因。我刚买了一台新的i7 MacBook Air,当时它运行得很热,我开始寻找解决方案。找到这个,并制作了这个小应用程序,使事情变得更简单:)。酷-谢谢。出于兴趣,您是否注意到在温度过高和时钟速度下降之前,Turbo通常可以在最大值(例如3.3 GHz)下保持多长时间?是几秒钟还是几分钟?欢迎!在我最后的观察中,当涡轮增压器启动并进行一些高要求的过程(如游戏:)时,我的温度在几分钟内达到98摄氏度,风扇以最大速度(6500转/分)运转。禁用涡轮增压和安静的4000转/分风扇转速时,温度永远不会超过85度。是否可以使用类似的方法禁用超读、降低最高频率或甚至降低CPU电压,以实现更低的温度和更安静的风扇?