一個 Turbo Boost Switcher 運行的改進方法
Turbo Boost Switcher 官網 Turbo Boost Switcher for OS X
2016年8月27日更新
現 Turbo Boost Switcher 官網已推出 Turbo Boost Switcher PRO 2 版本。
新版本支持第一次配置時安裝守護程序,以免除後續提權時密碼輸入請求。
另外新版本的自動開關 Turbo Boost 功能也得到了完善,支持黑白名單以及設置默認模式,另外可以選擇是否在電池供電時關閉 Turbo Boost。
更多信息請見 Turbo Boost Switcher 官網。
原文:2016年5月25日
背景
在筆者的 Macbook Pro with 15-inch Retina Display 2013Late 機型上,筆者選裝了 Intel i7-4960HQ 這款 CPU。下文的測試基於下圖硬體規格:
在僅 CPU 滿載的情況下,開啟 Turbo Boost 時功耗可達 47 W 左右,平均睿頻為 3.3 GHz,雙風扇轉速達到最大值約 6000 rpm。而通過 Turbo Boost Switcher 關閉 Turbo Boost 後,CPU 滿載功耗大約為 30 W,CPU 頻率為 2.6 GHz,此時雙風扇轉速大約為 3200 rpm。(室溫20度左右,頻率及功耗通過 Intel Power Gadget 查看,風扇轉速通過 iStat Menu 查看。)
值得一提的是,若需要長時間讓 CPU 滿載工作例如視頻編碼等操作時,筆者建議打開 Turbo Boost 為好,不然 CPU 執行時間會大幅延長,相對應的高發熱量時間也將延長,個人認為在這種情況下有些本末倒置。
但是,在日常操作中,尤其是當有虛擬機(筆者所用的虛擬機為 Parallel Desktop 11)在後台閑置或者看 Flash 視頻時,筆者並不希望 CPU 以高頻率運作。在不嚴謹的測試中,當有一個虛擬機在後台閑置並開啟 Turbo Boost 時,相較於開啟虛擬機而關閉 Turbo Boost,CPU 會時常處於 Turbo Boost 頻率區間並且功耗也有明顯的提高(筆者認為若只是同樣負荷下,頻率高低並不會對功耗有明顯影響)。而當看 Flash 視頻時,情況類似,舉個例子,開啟 Turbo Boost 時 CPU 平均功耗為約 25 W 時,若關閉 Turbo Boost,CPU 功耗可能僅為 15 W 左右,同時系統響應速度上並沒有明顯區別。由於功耗的降低,帶來的直接好處便是雙風扇旋轉所帶來的噪音減輕了許多。
Turbo Boost Switcher
在 OS X 10.11 中,目前最新版本的 Turbo Boost Switcher 版本為 1.2.0(也需要該版本),可以支持 Turbo Boost 狀態檢測及睡眠喚醒後主動重新關閉 Turbo Boost。當關閉 Turbo Boost 後,若系統進入睡眠後喚醒,Turbo Boost 會被重置為開啟狀態,此時 Turbo Boost Switcher 便會彈出窗口申請提權以關閉 Turbo Boost。
而數次的提權及密碼輸入讓筆者覺得相當麻煩,需要尋找一個更加方便的方法進行 Turbo Boost 的開關。
經過簡單的 Google 便可得知,在終端中輸入
sudo /Applications/Turbo Boost Switcher.app/Contents/MacOS/Turbo Boost Switcher
並輸入密碼,便可以管理員身份運行 Turbo Boost Switcher。此時再對 Turbo Boost 進行開啟或關閉並不需要用戶進行提權。
在這個以管理員身份運行的 Turbo Boost Switcher 菜單中選中 Disable at Launch 後,便可在每次啟動該 Turbo Boost Switcher 時直接關閉 Turbo Boost。
而此方法還不夠完善,首先需要啟動終端輸入命令,其次需要輸入密碼。於是 AppleScript(腳本編輯器)便可派上用場。
tell application "Finder"
do shell script "/Applications/Turbo Boost Switcher.app/Contents/MacOS/Turbo Boost Switcher" user name "xxx" password "xxx" with administrator privileges
end tell
修改代碼中 user name "xxx" password "xxx"的 xxx 為你的用戶名及密碼,保存為應用程序(可保存為 僅運行,以從一定程度上保護用戶名及密碼防止泄漏)。執行該應用程序便可以管理員身份運行 Turbo Boost Switcher 且不需要輸入密碼進行提權。
但是該方法還是有一個問題,在 Turbo Boost Switcher 啟動後,該 AppleScript 生成的程序會保留在 Dock 欄上並阻止系統進入睡眠(sleep prevented by applet)。
於是筆者使用 Automator 進行一個流程化操作。
修改「啟動應用程序」和「退出應用程序」為剛剛在 AppleScript 中的生成的程序。
修改中間的「運行 AppleScript」中的 user name "xxx" password "xxx"的 xxx 為你的用戶名及密碼,保存為應用程序。每當該程序,便可以管理員身份運行 Turbo Boost Switcher 後強制結束 applet。
後話
筆者目前能力僅限於通過上文方式實現以管理員身份運行 Turbo Boost Switcher,若有更好的方法歡迎在下方留言分享。
本文同時發表於筆者的網站 一個 Turbo Boost Switcher 運行的改進方法
推薦閱讀:
※Mac OS 能不能像 Linux 一樣把硬碟分成不同的分區,掛載到不同的目錄上?
※OS X 上 Control + Command + Option + 8 這個快捷鍵有什麼意義?
※利用AppleScript快速切換瀏覽器
※如何評價《感謝 Gatekeeper: 蘋果的 Mac OS X 一直對惡意軟體開放》?