Инструменты производительности

Инструменты Xcode включают несколько графических приложений и инструментов командной строки для сбора метрик производительности. Следующие разделы представляют доступные инструменты и говорят Вам, когда Вы могли бы использовать их.

Установка инструментов Apple

Инструменты производительности Apple установлены как часть инструментов Xcode. Этот пакет поставляет на CD, идущем с розничными копиями OS X. Можно также загрузить инструменты Xcode бесплатно с веб-сайта Разработчика Apple.

Для установки Инструментов XCode дважды щелкните по пакету установщика, найденному по Инструментам XCode CD или что Вы загрузили с сети. По умолчанию установщик создает a /Developer каталог на загрузочном томе Вашего жесткого диска и устанавливает приложения, документацию, примеры и другие файлы в этом каталоге. В Xcode 3.0 и позже, установщик позволяет Вам указать каталог пользовательской установки так, чтобы у Вас могли быть многократные версии инструментов на Вашем компьютере.

Большинство приложений с графическим интерфейсом пользователя имеет онлайн-справку в наличии через Меню справки. Для получения информации об этих инструментах см. Страницы справочника OS X.

Ключевые приложения

Несмотря на то, что XCode идет с многочисленными приложениями для сбора данных о производительности, существуют некоторые, что Вы будете использовать более часто, чем другие. Эти инструменты могут использоваться для сбора данных и для приложений Mac и для приложений для iPhone. Следующие разделы описывают эти инструменты и функции, которые они обеспечивают.

Инструменты

Представленный в OS X v10.5, Инструментальное приложение комбинирует ряд мощных аналитических инструментов с простым в использовании графическим интерфейсом пользователя. Инструменты предоставляют беспрецедентную информацию о поведении во время выполнения Вашего приложения. Вместо того, чтобы показывать только один аспект Вашей программы за один раз, Вы конфигурируете каждый аналитический сеанс с одним или более «инструментами», каждый из которых собирает информацию об определенной метрике производительности. Данные от всех инструментов показаны бок о бок, упростив сопоставлять данные от одного инструмента до другого и обнаруживать тренды в поведении Вашего приложения.

Среди типов метрик можно собраться с Инструментальным приложением, следующее:

  • Производительность Базовых Основанных на данных приложений

  • Информация о чтениях файловой системы, записях и других операциях

  • Статистика, касающаяся, собрала «мусор» код

  • Информация о графических операциях и производительности

  • Статистика об объекте и других связанных с памятью выделениях

  • Информация об утечках памяти

  • Статистические выборки Вашего приложения во время выполнения

  • Информация о специфичном для процесса и действии системного уровня

  • Информация о Java распараллеливает действие

  • Информация о событиях диспетчеризируется Какао

Для быстрого примера того, как использовать Инструментальное приложение, посмотрите Используя Инструменты. Для получения дальнейшей информации об Инструментальном приложении, см. Инструментальное Руководство пользователя.

Аналитические инструменты

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

Таблица 3-1 перечисляет аналитические инструменты, установленные с Инструментами XCode. (Эти инструменты не в состоянии проанализировать приложения, работающие в iOS.) Приложения, такие как MallocDebug установлены в <XCode>/Applications/Performance Tools каталог, где <XCode> корневой каталог Вашей установки XCode. Инструменты командной строки, такой как heap и leaks, установлены в /usr/bin.

  Инструменты Table 3-1 Analysis

Инструмент

Описание

MallocDebug

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

Монитор драйвера OpenGL

Собирает связанные с GPU данные о производительности, включая данные, связанные с использованием VRAM, видео трафиком шины и аппаратными остановами среди других. Можно использовать эту информацию для идентификации причины временного замедления или спорадических колебаний в приложении OpenGL.

Профилировщик OpenGL

Создает профиль во время выполнения Вашего основанного на OpenGL приложения. Можно просмотреть функциональную статистику и историю трассировки вызовов вызовов OpenGL приложения.

Сатурн

Инструментует Ваш код для обеспечения профилирования функционального уровня и выводит на экран получающиеся данные графически. Можно использовать этот инструмент для подсчета событий, такой как, сколько раз вызвана функция, или событие отправляется.

heap

Списки все malloc- выделенные буферы в «куче» указанного процесса

leaks

Ищет пространство памяти процесса для любых выделенных, но не имеющих ссылки блоков памяти.

vmmap

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

Контроль инструментов

Контролирующие инструменты являются пассивными инструментами, собирающими данные автоматически. Для использования этих инструментов оставьте их выполнением, в то время как Вы осуществляете функции своей программы. Можно тогда проанализировать данные, сгенерированные этими инструментами для получения лучшего понимания показателей производительности программы. Некоторые программы, как Регулирование вращения, нужно оставить, работая все время. Большинство других может быть запущено и завершено по мере необходимости для сбора информации производительности.

Таблица 3-2 перечисляет контрольные инструменты, установленные с Инструментами XCode в OS X. (Эти инструменты не в состоянии контролировать приложения, работающие в iOS.) Приложения, такие как BigTop и Регулирование вращения установлены в <XCode>/Applications/Performance Tools иерархия каталогов, где <XCode> корневой каталог Вашей установки XCode. Инструмент Activity Monitor установлен в /Applications/Utilities каталог. Инструменты командной строки, такой как fs_usage и top, установлены в /usr/bin.

  Инструменты Table 3-2 Monitoring

Инструмент

Описание

Монитор действия

Статистика общего использования дисплеев, касающаяся памяти и использования CPU для в настоящее время рабочих процессов. Можно также инициировать выборку процесса из этого приложения. Этот инструмент предоставляет информацию, которая подобна тому из top инструмент.

BigTop

Системная статистика дисплеев, такая как CPU, диск, использование сети и использование памяти графически в течение долгого времени. Можно контролировать единственный процесс или все процессы. Этот инструмент предоставляет информацию, которая подобна тому из top и vm_stat инструменты.

Кварцевая отладка

Показывает экранные обновления в режиме реального времени путем краткого высвечивания перерисовываемых областей. Можно использовать этот инструмент для анализа поведения получения приложения.

Регулирование вращения

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

Средство просмотра потока

Графически действие дисплеев через диапазон потоков. Это обеспечивает представления временной шкалы, на которые наносят цветную маркировку, действия потока и может вывести на экран следы действия в отдельных моментах своевременно. (Доступный в OS X v10.5 и ранее.)

fs_usage

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

sc_usage

Выводит на экран продолжающийся список статистики системного вызова и отсутствия страницы.

top

Статистика использования общей системы дисплеев, касающаяся памяти и использования CPU для в настоящее время рабочих процессов. Этот инструмент обновляет информацию динамично так, чтобы Вы видели тренды во время выполнения.

Аппаратные аналитические инструменты

Инструменты CHUD включают дополнительные приложения для того, чтобы сделать аппаратные средства и низкоуровневый анализ программного обеспечения в OS X. (Эти инструменты не в состоянии проанализировать аппаратные средства рабочий iOS.) Таблица 3-3 перечисляет инструменты, которые являются частью этого пакета, и обеспечивает краткий обзор их цели. Графические приложения установлены в <XCode>/Applications/Performance Tools/CHUD каталог, где <XCode> корневой каталог Вашей установки XCode. Инструменты командной строки установлены в /usr/bin каталог. Все инструменты включены с Инструментами XCode.

  Инструменты Table 3-3 CHUD

Имя

Описание

Реджи SE

Позволяет Вам исследовать и изменить регистры конфигурации PCI и CPU.

acid

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

simg4

Инструмент командной строки, который является точным циклом средством моделирования процессора Motorola 7400. Этот инструмент берет трассировки TT6 в качестве ввода. (Доступный в OS X v10.5 и ранее.)

simg5

Инструмент командной строки, который является точным циклом средством моделирования процессора IBM 970. Этот инструмент берет трассировки TT6 в качестве ввода. (Доступный в OS X v10.5 и ранее.)

Для получения информации об использовании инструментов CHUD см. онлайн-справку для определенного инструмента. Документация для некоторых инструментов CHUD также установлена в <XCode>/Documentation/CHUD каталог, где <XCode> корневой каталог Вашей установки XCode.

Дополнительные инструменты командной строки

Таблица 3-4 перечисляет некоторые дополнительные инструменты командной строки, которые можно использовать, чтобы контролировать и проанализировать производительность в OS X. (Эти инструменты не в состоянии контролировать и проанализировать приложения, работающие в iOS.) Эти инструменты расположены в /usr/bin/ каталог и должен быть выполнен от приглашения командной строки. Большинство установлено вместе с Инструментами XCode. Для получения информации об этих инструментах см. Страницы справочника OS X.

Табличные 3-4  инструменты Командной строки

Имя

Описание

atos

Преобразовывает назад и вперед между именем символа и числовым адресом того символа в рабочей исполнимой программе.

c2ph

Выводит на экран C-структуры от объектного файла вместе с их задействованными значениями смещения.

gprof

Производит профили выполнения на основе анализа выполнения программы.

malloc_history

Показывает malloc выделения выполняются указанным процессом.

nm

Выводит на экран информацию о таблице символов для одного или более объектных файлов.

otool

Выводит на экран содержание Мужественной исполнимой программы в более человекочитаемой форме

pagestuff

Информация о дисплеях о логических страницах Мужественного исполняемого файла.

pstruct

Анализирует структуры C от объектного файла и выводит на экран их вместе с их задействованными значениями смещения.

sample

Производит профиль выполнения на основе анализа выполнения программы.

vm_stat

Дисплеи статистика виртуальной памяти Маха, включая число активных, неактивных, соединенных проводом, и свободных страниц. Этот инструмент также выводит на экран отсутствие страницы и другую информацию о действии.