2011-03-03 148 views
10

有沒有什麼辦法以編程方式禁用運行Mac OS X的Core i7 mac上的Turbo Boost?在代碼優化期間,我需要能夠做到基準測試的目的。如果失敗了,即使需要重新啓動,任何可以禁用/啓用Turbo Boost的工具都會很有用。在Core i7 Mac上禁用Turbo Boost?

在SO:How to turn off Turbo Boost temporarily?上有一個相關的問題(不是Mac特有的),但即使是PC,似乎也沒有辦法以編程方式/在飛行中執行此操作?

+0

我想你已經檢查了在開發工具選項的屏幕截圖?我很肯定你可以關閉HyperThreading,但我不知道Turbo Boost是否有類似的功能。沒有開放的EFI使得Mac上的事情變得很困難。你可以通過[像這樣的項目](http://refit.sourceforge.net/)來解決這個問題,但是沒有保證。 – 2011-03-03 09:12:24

+0

@Cody Gray:是的,已經嘗試了通常的嫌疑犯 - 開發者工具,廣泛的谷歌搜索等等.REFIt *可能是一個可能的探索途徑,但我希望減少一些勞動密集型的東西,比如翻轉一下CPU控制寄存器或現有的實用程序。 – 2011-03-03 09:22:55

+0

我相信易於修改的不安便性質,因爲這些選項僅供用戶修改此類系統參數。否則,每個人都可以將某個高端處理器變成一隻烏龜,只能處理與計算器有關的問題。 – Nocturnal 2011-03-04 10:53:47

回答

4

你不能。某些東西需要從BIOS配置,例如TurboBoost或Vt

特別是,這是通過IA32_FEATURE_CONTROL MSR完成的。在PC上,啓動時,MSR被解鎖,BIOS設置正確的位來啓用或禁用功能。配置完成後,BIOS會鎖定MSR以使更改生效並防止將來進行修改。

我不知道在PC進入保護模式之前是否有可能再次解鎖MSR,我不知道如何在使用EFI而不是BIOS的MacBook上工作。您可能可以通過EFI擴展來實現它。

+0

這很容易,你只需要設置正確的IA32_FEATURE_CONTROL MSR位,但是,我認爲你可以自己做,因爲BIOS在配置完成後鎖定MSR。至少,在帶有BIOS的PC上,Mac *上的EFI擴展可能*。更新了帖子。 – 2011-03-04 13:27:46

+0

謝謝 - 附加信息是有用的 - 這聽起來像我需要看rEFIt然後看看是否可以提供一種方法來在啓動時做這種事情。 – 2011-03-05 07:41:23

4

CPUID.com的Tmonitor實用程序可以禁用/啓用Turbo Boost從Windows內啓動,而不是啓動!從OSX內部必須有一種方法可以做同樣的事情。

+0

優秀 - 謝謝 - 我看到這裏有一個屏幕截圖:http://www.cpuid.com/softwares/tmonitor.html,它顯示了Turbo Boost啓用/禁用的菜單選項 - 假設它實際上可以正常工作,然後如您所說必須是在Mac OS X和/或Linux上執行此操作的一種方式。 – 2011-04-05 19:55:45

1

最後似乎是一個很好的解決方案我今天在Core i7 MacBook Pro上用Mac OS X Lion測試過的問題,看起來效果不錯。波蘭克拉科夫Jagiellonian大學的並行計算研究員Adam Strzelecki寫了DisableTurboBoost.kext - 這是一個小的kext,可以隨意裝載和卸載(通過命令行)來禁用/啓用TurbBoost。

+0

不是一個令人驚訝的發現。請注意,該工具的相同作者在您再次發現它之前兩天已經回答了您的問題。 – biocyberman 2012-12-04 13:49:55

+0

好的結果 - 我已經讓@Adaś的回答成爲現在接受的答案。 – 2012-12-04 14:08:04

4

我剛剛編寫了一個應用程序,允許加載/卸載之前提到的內核擴展,幫助跟蹤顯示CPU溫度&當前風扇速度的系統行爲。

你可以檢查出來這裏https://github.com/rugarciap/Turbo-Boost-Switcher

這裏是它看起來的樣子http://i.stack.imgur.com/tsKaG.png

+0

它是否與Haswell(最新的MacBook Air)一起使用? – 2013-07-24 07:56:06

+0

當然,這就是我創造它的原因。我剛剛買了一臺新的i7 MacBook Air,它運行得非常熱,我開始尋找解決方案。找到這個,並使這個小應用程序,使事情變得更容易:)。 – rugarciap 2013-07-24 07:59:01

+0

很酷 - 謝謝。您是否注意到,在溫度過高和時鐘速度下降之前,Turbo可以保持最長時間(例如3.3 GHz)多長時間?它是幾秒或幾分鐘的數量級還是什麼? – 2013-07-24 08:01:02