Отключить Turbo Boost на Core i7 Mac?
Есть ли способ программно отключить Turbo Boost на Mac Core i7 с Mac OS X? Мне нужно иметь возможность сделать это для целей бенчмаркинга при оптимизации кода и т.д. В противном случае полезной может быть любая утилита, которая может отключить/включить Turbo Boost, даже если она требует перезагрузки.
На SO есть связанный с этим вопрос (а не Mac): Как отключить Turbo Boost временно?, но даже для ПК кажется, что не может быть способ сделать это программно/на лету?
Ответы
Ответ 1
Я написал расширение ядра, которое позволяет вам отключить TB, получайте удовольствие:
https://github.com/nanoant/DisableTurboBoost.kext
Если вы хотите отключить TB на Linux здесь другой рецепт: http://luisjdominguezp.tumblr.com/post/19610447111/disabling-turbo-boost-in-linux
Ответ 2
Вы не можете. Некоторые вещи необходимо настроить из BIOS, таких как TurboBoost или Vt.
В частности, это делается с помощью MS32 IA32_FEATURE_CONTROL. На ПК во время загрузки MSR разблокируется и BIOS устанавливает правильные биты для включения или отключения функций. После завершения настройки BIOS блокирует MSR, чтобы изменения вступили в силу и предотвратили будущую модификацию.
Я не знаю, возможно ли разблокировать MSR еще до того, как ПК будет переведен в защищенный режим, и я не знаю, как это работает на MacBook, где EFI используется вместо BIOS. Вероятнее всего, вы сможете использовать его с расширением EFI.
Ответ 3
CPUID.com Утилита Tmonitor может отключать/активировать Turbo Boost "на лету" изнутри Windows, а не при загрузке! Должен быть способ сделать то же самое из OSX.
Ответ 4
Я только что закодировал приложение, которое позволяет загрузить/выгрузить упомянутое ранее расширение ядра, помогая отслеживать поведение системы, отображая температуру процессора и текущую скорость вращения вентилятора.
Вы можете проверить это здесь https://github.com/rugarciap/Turbo-Boost-Switcher
Вот скриншот о том, как это выглядит как http://i.stack.imgur.com/tsKaG.png
Ответ 5
Наконец, похоже, это хорошее решение для этой проблемы, которое я протестировал с Mac OS X Lion на Core i7 MacBook Pro сегодня, и, похоже, он работает хорошо. Адам Стшелецкий, исследователь по параллельным вычислениям в Ягеллонском университете в Кракове, Польша написал DisableTurboBoost.kext - это небольшой kext, который можно загрузить и выгружается по желанию (через командную строку) для отключения/включения TurbBoost.