Инструменты производительности
Инструменты 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
.
Инструмент | Описание |
---|---|
Дорожки и анализируют память, выделенную в приложении. Можно использовать этот инструмент, чтобы найти утечки памяти или проанализировать образцы выделения памяти. | |
Собирает связанные с GPU данные о производительности, включая данные, связанные с использованием VRAM, видео трафиком шины и аппаратными остановами среди других. Можно использовать эту информацию для идентификации причины временного замедления или спорадических колебаний в приложении OpenGL. | |
Создает профиль во время выполнения Вашего основанного на OpenGL приложения. Можно просмотреть функциональную статистику и историю трассировки вызовов вызовов OpenGL приложения. | |
Инструментует Ваш код для обеспечения профилирования функционального уровня и выводит на экран получающиеся данные графически. Можно использовать этот инструмент для подсчета событий, такой как, сколько раз вызвана функция, или событие отправляется. | |
Списки все | |
Ищет пространство памяти процесса для любых выделенных, но не имеющих ссылки блоков памяти. | |
Выводит на экран области виртуальной памяти, выделенные указанному процессу. Можно использовать этот инструмент для анализа использования памяти процесса. |
Контроль инструментов
Контролирующие инструменты являются пассивными инструментами, собирающими данные автоматически. Для использования этих инструментов оставьте их выполнением, в то время как Вы осуществляете функции своей программы. Можно тогда проанализировать данные, сгенерированные этими инструментами для получения лучшего понимания показателей производительности программы. Некоторые программы, как Регулирование вращения, нужно оставить, работая все время. Большинство других может быть запущено и завершено по мере необходимости для сбора информации производительности.
Таблица 3-2 перечисляет контрольные инструменты, установленные с Инструментами XCode в OS X. (Эти инструменты не в состоянии контролировать приложения, работающие в iOS.) Приложения, такие как BigTop и Регулирование вращения установлены в <XCode>/Applications/Performance Tools
иерархия каталогов, где <XCode> корневой каталог Вашей установки XCode. Инструмент Activity Monitor установлен в /Applications/Utilities
каталог. Инструменты командной строки, такой как fs_usage
и top
, установлены в /usr/bin
.
Инструмент | Описание |
---|---|
Статистика общего использования дисплеев, касающаяся памяти и использования CPU для в настоящее время рабочих процессов. Можно также инициировать выборку процесса из этого приложения. Этот инструмент предоставляет информацию, которая подобна тому из | |
Системная статистика дисплеев, такая как CPU, диск, использование сети и использование памяти графически в течение долгого времени. Можно контролировать единственный процесс или все процессы. Этот инструмент предоставляет информацию, которая подобна тому из | |
Показывает экранные обновления в режиме реального времени путем краткого высвечивания перерисовываемых областей. Можно использовать этот инструмент для анализа поведения получения приложения. | |
Демонстрационные программы, заставляющие вращающийся курсор появляться. Оставьте эту программу, работающую в фоновом режиме для ловли безразличных приложений в критические моменты. | |
Графически действие дисплеев через диапазон потоков. Это обеспечивает представления временной шкалы, на которые наносят цветную маркировку, действия потока и может вывести на экран следы действия в отдельных моментах своевременно. (Доступный в OS X v10.5 и ранее.) | |
Выводит на экран продолжающийся список действия файловой системы, как сгенерировано отсутствиями страницы и вызовами к функциям файловой системы. Можно использовать этот инструмент для понимания образцов доступа к файлу программы. | |
Выводит на экран продолжающийся список статистики системного вызова и отсутствия страницы. | |
Статистика использования общей системы дисплеев, касающаяся памяти и использования CPU для в настоящее время рабочих процессов. Этот инструмент обновляет информацию динамично так, чтобы Вы видели тренды во время выполнения. |
Аппаратные аналитические инструменты
Инструменты CHUD включают дополнительные приложения для того, чтобы сделать аппаратные средства и низкоуровневый анализ программного обеспечения в OS X. (Эти инструменты не в состоянии проанализировать аппаратные средства рабочий iOS.) Таблица 3-3 перечисляет инструменты, которые являются частью этого пакета, и обеспечивает краткий обзор их цели. Графические приложения установлены в <XCode>/Applications/Performance Tools/CHUD
каталог, где <XCode> корневой каталог Вашей установки XCode. Инструменты командной строки установлены в /usr/bin
каталог. Все инструменты включены с Инструментами XCode.
Для получения информации об использовании инструментов CHUD см. онлайн-справку для определенного инструмента. Документация для некоторых инструментов CHUD также установлена в <XCode>/Documentation/CHUD
каталог, где <XCode> корневой каталог Вашей установки XCode.
Дополнительные инструменты командной строки
Таблица 3-4 перечисляет некоторые дополнительные инструменты командной строки, которые можно использовать, чтобы контролировать и проанализировать производительность в OS X. (Эти инструменты не в состоянии контролировать и проанализировать приложения, работающие в iOS.) Эти инструменты расположены в /usr/bin/
каталог и должен быть выполнен от приглашения командной строки. Большинство установлено вместе с Инструментами XCode. Для получения информации об этих инструментах см. Страницы справочника OS X.
Имя | Описание |
---|---|
Преобразовывает назад и вперед между именем символа и числовым адресом того символа в рабочей исполнимой программе. | |
Выводит на экран C-структуры от объектного файла вместе с их задействованными значениями смещения. | |
Производит профили выполнения на основе анализа выполнения программы. | |
Показывает | |
Выводит на экран информацию о таблице символов для одного или более объектных файлов. | |
Выводит на экран содержание Мужественной исполнимой программы в более человекочитаемой форме | |
Информация о дисплеях о логических страницах Мужественного исполняемого файла. | |
Анализирует структуры C от объектного файла и выводит на экран их вместе с их задействованными значениями смещения. | |
Производит профиль выполнения на основе анализа выполнения программы. | |
Дисплеи статистика виртуальной памяти Маха, включая число активных, неактивных, соединенных проводом, и свободных страниц. Этот инструмент также выводит на экран отсутствие страницы и другую информацию о действии. |