Протестируйте приложение OSX при ограниченных системных ресурсах

Я заметил, что мое приложение чаще дает сбой для пользователей с более медленными машинами (например, MacBook Air или MacBook Pro с процессором ниже i5). Однако мне как разработчику сложно воспроизвести эти проблемы на моей машине (Retina, 15 дюймов, начало 2013 г., 2,7 ГГц Core i7, 16 ГБ ОЗУ).

Приложение интенсивно использует ЦП (многоранговые аудио-видеоконференции в реальном времени) и является многопоточным, и большинство сбоев происходит случайно во время ключевых операций, таких как запуск/остановка аудио или потоковой передачи/захвата видео — верный признак плохого многопоточного взаимодействия.

Таким образом, мне было интересно, есть ли какие-либо инструменты для тестирования приложения в условиях ограниченных системных ресурсов (например, ограничение ядер или частоты процессора/времени выполнения для процесса приложения), которые помогут мне понять системные требования и ограничения моего приложения, а также помогут воспроизвести некоторые heisenbugs?


person peetonn    schedule 18.02.2016    source источник


Ответы (1)


В ресурсах Apple Developers Resources есть аппаратные инструменты ввода-вывода для Xcode, которые содержат инструмент преобразования сетевых каналов, очень полезный для тестирования ваших проектов в критических условиях сети.

Таким образом, он позволяет вам моделировать ограниченные сетевые ресурсы, а не системные: поэтому я могу предложить вам создать виртуальную машину и запустить оттуда Xcode или вашу IDE, а вы заранее решите, сколько ресурсов (процессор ядра, графическая память, оперативная память) выделяют.

person Andrea Ippolito    schedule 18.02.2016