Технические вопросы и ответы QA1141

Отключение ядер процессора в многожильной системе

Q: Теперь, все компьютеры Macintosh имеют многократные ядра процессора. Я хотел бы временно выключить некоторые ядра, чтобы протестировать, как мой продукт Mac OS X ведет себя, когда меньше ядер доступно. Как я могу сделать это?

A: Теперь, все компьютеры Macintosh имеют многократные ядра процессора. Я хотел бы временно выключить некоторые ядра, чтобы протестировать, как мой продукт Mac OS X ведет себя, когда меньше ядер доступно. Как я могу сделать это?

У Вас есть несколько опций для изменения числа активных ядер процессора. Право преимущественной покупки сразу вступает в силу и обеспечивает удобный пользовательский интерфейс. Второй метод требует перезагрузки, но ее эффект является персистентным, пока не изменено.

Определение номера активных ядер графически

Самый простой способ изменить число активных ядер процессора состоит в том, чтобы использовать предпочтительную область Процессора, которая является частью инструментов CHUD (Computer Hardware Understanding Developer). CHUD обычно устанавливается как часть установки XCode.

Предпочтительная область Процессора расположена в /Developer/Extras/Preference Panes. Установите его, просто дважды щелкнув по нему в Средстве поиска. Установки системы запустятся, и у Вас будет опция установить предпочтительную область или для текущего пользователя или для всех пользователей.

  Предпочтение Процессора рисунка 1 разделяет значок на области.

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

  Предпочтение Процессора рисунка 2 разделяет окно на области.

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

  Меню Figure 3 Processor.

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

  Палитра Figure 4 Processor.

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

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

  Средства управления рисунком 5 для настройки палитры процессора.

Определение номера активных ядер из командной строки

Номер активных ядер может также быть определен из командной строки с помощью nvram команда для установки boot-args микропрограммная переменная.

Когда система закрыта или перезапущена, микропрограммные переменные записаны в энергонезависимую память (NVRAM). Ядро только читает boot-args во время начальной загрузки. Это означает, что, в отличие от использования предпочтительной области Процессора, перезагрузка требуется, чтобы изменять число активных ядер процессора из командной строки. Это также означает, что эта установка является персистентной через сон/след и системные перезапуски, полезную функцию автоматизированного тестирования.

Выполните эти шаги для определения номера активных ядер процессора из командной строки:

  1. Отметьте текущую установку boot-args использование следующей команды:

    $ nvram boot-args
  2. Введите следующую команду для определения номера ядер для использования для 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"
  3. Введите пароль администратора, когда запрошено.

  4. Перезапустите систему.

Если Вы решаете изменить настройки перед перезапуском, просто работать nvram снова с желаемыми настройками, которые тогда перезапишут предыдущую установку. Если Вы пишете какой-либо c орфографическими ошибками из параметров такой как boot-args или cpus, нет никакого предупреждения, (вероятно, бесполезный), новая запись в NVRAM внесена, и число активных ядер будет неизменно после перезапуска.

Очистка Загрузочного аргумента CPU

cpus загрузочный аргумент останется в силе через все системные перезапуски, пока он не будет изменен или очищен. Существует два способа очиститься cpus установка:

  1. Используйте nvram команда для очистки boot-args микропрограммная переменная следующим образом:

    $ sudo nvram boot-args=""
  2. Можно очиститься boot-args путем сброса NVRAM Mac, как описано в этой статье поддержки. Следует иметь в виду, что это также очистит все другие пользовательские настройки NVRAM.



История версии документа


ДатаПримечания
16.09.2008

Добавленная предпочтительная область Процессора CHUD. Удаленное устаревшее содержание. Внесенные редакционные изменения.

22.05.2002

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