Отключение ядер процессора в многожильной системе
Q: Теперь, все компьютеры Macintosh имеют многократные ядра процессора. Я хотел бы временно выключить некоторые ядра, чтобы протестировать, как мой продукт Mac OS X ведет себя, когда меньше ядер доступно. Как я могу сделать это?
A: Теперь, все компьютеры Macintosh имеют многократные ядра процессора. Я хотел бы временно выключить некоторые ядра, чтобы протестировать, как мой продукт Mac OS X ведет себя, когда меньше ядер доступно. Как я могу сделать это?
У Вас есть несколько опций для изменения числа активных ядер процессора. Право преимущественной покупки сразу вступает в силу и обеспечивает удобный пользовательский интерфейс. Второй метод требует перезагрузки, но ее эффект является персистентным, пока не изменено.
Определение номера активных ядер графически
Самый простой способ изменить число активных ядер процессора состоит в том, чтобы использовать предпочтительную область Процессора, которая является частью инструментов CHUD (Computer Hardware Understanding Developer). CHUD обычно устанавливается как часть установки XCode.
Предпочтительная область Процессора расположена в /Developer/Extras/Preference Panes. Установите его, просто дважды щелкнув по нему в Средстве поиска. Установки системы запустятся, и у Вас будет опция установить предпочтительную область или для текущего пользователя или для всех пользователей.

Как только предпочтительная область была установлена, можно использовать ее, чтобы определить максимальный номер ядер процессора, доступных системе и запустить или остановить любое определенное ядро на лету.


Нажмите «Show control in menu bar» для установки ярлыка на функции Процессора в строке меню.

Выберите «Show Processor Palette» из меню Processor для отображения графического представления доступных процессоров и их уровней деятельности.

Щелкните плюс или минус кнопки в нижнем правом, чтобы запустить или остановить ядра последовательно или щелкнуть по изображению каждого процессора, чтобы остановить или запустить то определенное ядро.
Нажмите кнопку на панели инструментов в верхнем правом, чтобы показать и скрыть средства управления для настройки палитры процессора.

Определение номера активных ядер из командной строки
Номер активных ядер может также быть определен из командной строки с помощью nvram команда для установки boot-args микропрограммная переменная.
Когда система закрыта или перезапущена, микропрограммные переменные записаны в энергонезависимую память (NVRAM). Ядро только читает boot-args во время начальной загрузки. Это означает, что, в отличие от использования предпочтительной области Процессора, перезагрузка требуется, чтобы изменять число активных ядер процессора из командной строки. Это также означает, что эта установка является персистентной через сон/след и системные перезапуски, полезную функцию автоматизированного тестирования.
Выполните эти шаги для определения номера активных ядер процессора из командной строки:
Отметьте текущую установку
boot-argsиспользование следующей команды:$ nvram boot-args
Введите следующую команду для определения номера ядер для использования для 1:
$ sudo nvram boot-args="cpus=1"
cpusзагрузочный аргумент может колебаться от 1 до общего количества ядер процессора в Вашей системе.Необходимо будет повторно войти в текущую стоимость
boot-argsесли Вы хотите сохранить его. Например, если результат шага 1 был:boot-args debug=0x4
nvramкоманда была бы:$ sudo nvram boot-args="debug=0x4 cpus=1"
Введите пароль администратора, когда запрошено.
Перезапустите систему.
Если Вы решаете изменить настройки перед перезапуском, просто работать nvram снова с желаемыми настройками, которые тогда перезапишут предыдущую установку. Если Вы пишете какой-либо c орфографическими ошибками из параметров такой как boot-args или cpus, нет никакого предупреждения, (вероятно, бесполезный), новая запись в NVRAM внесена, и число активных ядер будет неизменно после перезапуска.
Очистка Загрузочного аргумента CPU
cpus загрузочный аргумент останется в силе через все системные перезапуски, пока он не будет изменен или очищен. Существует два способа очиститься cpus установка:
Используйте
nvramкоманда для очисткиboot-argsмикропрограммная переменная следующим образом:$ sudo nvram boot-args=""
Можно очиститься
boot-argsпутем сброса NVRAM Mac, как описано в этой статье поддержки. Следует иметь в виду, что это также очистит все другие пользовательские настройки NVRAM.
История версии документа
| Дата | Примечания |
|---|---|
| 16.09.2008 | Добавленная предпочтительная область Процессора CHUD. Удаленное устаревшее содержание. Внесенные редакционные изменения. |
| 22.05.2002 | Новый документ, описывающий, как отключить ядра процессора в многожильной системе для тестирования. |