Сначала воспроизведите проблему, затем передайте её специалистам

Зафиксируйте всё, что происходит с облачным Mac

Здесь проблемы распределяются не по отделам, а по симптомам: подключение, сборка, дисковое пространство, производительность, биллинг и состояние узла. После базовой диагностики тикет сразу можно отправить на проверку.

6 категорий проблем
99.9% целевой доступности
6 доступных узлов
Диагностическая карточка

Превратите симптомы в проверяемую запись

Ожидаемая информация
Масштаб проблемы Одна задача / одно устройство / вся команда
Необходимое время Время возникновения, часовой пояс, последнее нормальное состояние
Базовая конфигурация macOS, Xcode, команды и коды завершения
Безопасность Отправляйте только обезличенные журналы, без полных секретов

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

Выберите по симптому

Выберите наиболее подходящий вариант

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

Не удаётся подключиться

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

Показать шаги проверки подключения

Ошибка сборки

Сохраните полную команду, код завершения и первую существенную ошибку; проверьте, совпадают ли Xcode, macOS, lock-файл зависимостей и ветка проекта с успешной базовой конфигурацией.

Перейти к диагностике сборки

Дисковое пространство

Проверьте свободное место на системном томе, производные данные, кэш сборки, файлы моделей и временные результаты. Не ограничивайтесь размером каталога проекта.

Перейти к проверке хранилища

Нестабильная производительность

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

Перейти к диагностике производительности

Проблема с биллингом

Подготовьте идентификатор заказа в консоли, расчётный период и результат оплаты. Все заказы рассчитываются в USD; поддерживаются USDT-TRC20 и Visa / Mastercard / Amex (через Stripe).

Открыть биллинг в консоли

Состояние узла

Сначала определите, затронуто ли одно устройство, один узел или несколько площадок, и запишите фактический узел и последнее нормальное время доступа. Не заменяйте название узла географическим расположением.

Показать правила проверки состояния сервиса
Проверка перед подключением

Пять базовых сведений: пропускать нельзя

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

  1. 01

    Проверьте состояние устройства в консоли

    Сверьте идентификатор заказа, текущий узел и состояние устройства. Не принимайте старый снимок экрана из кэша браузера за текущий результат: ориентируйтесь на актуальный ответ консоли.

  2. 02

    Убедитесь, что данные доступа относятся к тому же устройству

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

  3. 03

    Сопоставьте способ доступа с задачей

    Для задач командной строки сначала проверьте SSH; графический удалённый рабочий стол проверяйте только при необходимости работы с интерфейсом Xcode. Запишите результаты обоих путей отдельно.

  4. 04

    Проверьте локальную сеть

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

  5. 05

    Сверьте локальное и удалённое системное время

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

Диагностика ошибок сборки

Найдите первую существенную ошибку и определите: среда это или проект

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

Команды сбора данных о среде Только чтение
sw_vers
xcodebuild -version
git rev-parse --short HEAD
git status --short
df -h /
xcodebuild -scheme App -configuration Release

Перед запуском убедитесь, что команды не выведут секреты. Если проект использует менеджер зависимостей, также сохраните сводку lock-файла и результат команды установки.

Признаки проблемы среды

Одновременно завершаются ошибкой несвязанные проекты

Если минимальный тестовый и рабочий проекты завершаются ошибкой на одном этапе или системные команды также работают некорректно, зафиксируйте версии macOS и Xcode, свободное место и полный код завершения.

Признаки проблемы проекта

Ошибка возникает только в определённой ветке или комбинации зависимостей

Если минимальный проект на том же устройстве выполняется успешно, а целевая ветка ломается после обновления lock-файла, параметров сборки или ресурсов, сначала проверьте изменения проекта.

Минимальный набор данных

Версии, команда, код завершения, фрагмент журнала

Укажите версии Xcode и macOS, сводку lock-файла зависимостей, полную команду xcodebuild, код завершения и обезличенный вывод до и после первой существенной ошибки.

1 Зафиксируйте ветку и входные данные

Не обновляйте зависимости и не меняйте конфигурацию во время диагностики.

2 Сохраните полный вывод

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

3 Запустите минимальную задачу

Проверьте базовую конфигурацию среды с минимальной схемой или тестовым проектом.

4 Сравните с последней успешной записью

Сопоставьте версии, параметры, состояние кэша и входные данные задачи.

Производительность и хранилище

Разложите «замедление» на CPU, память, диск и длительность задачи

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

Список показателей

Сверяйте Мониторинг системы с командной строкой

Четыре категории показателей
CPU Постоянная загрузка, имена процессов, число параллельных задач top -l 1 -o cpu
Память Давление на память, использование подкачки, пиковый этап memory_pressure
Диск Свободное место системного тома, рост кэша и результатов df -h /
Длительные задачи Время запуска, размер входных данных, длительность выполнения ps -axo pid,etime,command
Лёгкая сборка

HopVM M4 16

M4 · 16GB · 256GB

Подходит для сборки одного проекта, коротких тестов и автоматизации с низкой параллельностью. При длительном высоком давлении на память сначала уменьшите параллельность, затем сравните с HopVM M4 24.

Повседневная многозадачность

HopVM M4 24

M4 · 24GB · 512GB

Подходит для одновременной работы инструментов разработки, симуляторов и задач автоматизации. Если большие модели или тяжёлые сборки постоянно используют подкачку, рассмотрите HopVM M4 Pro 64.

Задачи, требующие много памяти

HopVM M4 Pro 64

M4 Pro · 64GB · 2TB

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

Сначала очистите воспроизводимые данные

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

При постоянном росте объёма добавьте хранилище

Если исходные файлы проекта невелики, но модели, медиаматериалы или архивы сборок постоянно растут, рассмотрите дополнительные опции +1TB SSD или +2TB SSD.

Фиксируйте пики отдельно от базовой нагрузки

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

Доступность сервиса
99.9% целевая доступность

Все узлы рассчитаны на нормальную работу 365 дней в году. Состояние за последние 90 дней записывается ежедневно; ниже показаны 30 сегментов, каждый суммирует результаты трёх календарных дней.

Сводка работы за последние 90 дней

Зелёный означает нормальную работу, жёлтый отмечает закрытые события и не указывает на текущую проблему.

Сейчас всё работает нормально
Работает нормально Закрытые события Методика: ежедневная запись состояния за последние 90 дней

Что входит в запись состояния

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

Как подать заявку при недостижении обязательств

Отправьте через консоль идентификатор заказа, фактический узел, время и часовой пояс проблемы, масштаб воздействия и доказательства подключения. При соответствии условиям запрос на компенсацию подаётся в установленные условиями сервиса сроки и с необходимыми доказательствами.

Шаблон доказательств для тикета

Укажите шесть пунктов сразу, чтобы избежать дополнительных вопросов

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

Рекомендуемая структура текста Скопируйте и заполните
Идентификатор заказа:
Фактический узел: SG / JP / KR / HK / US-E / US-W
Время проблемы и часовой пояс:
Последнее нормальное время:
Масштаб воздействия:
Шаги воспроизведения:
1.
2.
3.
Ожидаемый результат:
Фактический результат:
Код завершения или тип ошибки:
Фрагмент обезличенного журнала:

Шесть узлов: Сингапур, Япония (Токио), Корея (Сеул), Гонконг, восток США и запад США. Оставьте только код фактически использованного узла.

01

Заказ и узел

Идентификатор заказа связывает устройство с заказом; выберите фактический узел из SG, JP, KR, HK, US-E или US-W.

02

Время и часовой пояс

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

03

Шаги воспроизведения

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

04

Ожидаемый и фактический результат

Отдельно опишите ожидаемое и фактическое поведение, не ограничивайтесь фразами «не работает» или «работает медленно».

05

Ошибка и код завершения

Укажите первую существенную ошибку, код завершения и этап возникновения, а не только последнюю строку журнала.

06

Обезличенный вывод

Сохраните последовательность вызовов, время и тип ошибки; удалите пароли, полные ключи, токены, платёжные данные и секреты проекта.

Границы поддержки

Сначала команда поддержки определит границы сервиса, затем предложит следующие шаги

Для разных проблем нужны разные доказательства. Пока не проверены масштаб воздействия и среда, нельзя обещать конкретное время восстановления без подтверждения.

Тип проблемы, что может проверить HopVM и что должен подготовить пользователь
Тип проблемы Что может проверить HopVM Что предоставить пользователю Результат проверки
Связность узла Состояние узла, доступность сети, масштаб воздействия и записи состояния Фактический узел, исходная сеть, время и часовой пояс, сравнительная проверка Отличить проблему одного выхода, устройства или всего узла
Состояние устройства Состояние устройства, записи о предоставлении ресурсов и связанные данные консоли Идентификатор заказа, последнее нормальное время, число затронутых задач Подтвердить соответствие состояния устройства данным консоли
Системный доступ Область данных доступа, точка входа в сессию и симптомы подключения на уровне системы Способ доступа, тип ошибки, обезличенные сведения об отпечатке или результате проверки прав Отличить тайм-аут, права доступа, расхождение времени и ограничения локальной сети
Инструменты разработки Помочь проверить корректность среды устройства и системных ресурсов Xcode, macOS, версии зависимостей, полная команда, код завершения и минимальное воспроизведение Определить, нужно ли продолжить проверку зависимостей проекта или стороннего инструмента
Биллинг и заказ Состояние заказа, расчётный период, результат оплаты и финансовые записи Идентификатор заказа, категория способа оплаты, время и результат в консоли Ориентируйтесь на актуальные данные заказа и шлюза, возвращаемые консолью

Можно проверить напрямую

Связность узла, состояние устройства, точку входа в систему, связь с заказом и записи состояния на стороне сервиса.

Требуется совместное воспроизведение

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

Дальнейшая работа на стороне проекта

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

Переход к эскалации

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

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

Если не удаётся открыть консоль, отправьте письмо на support@hopvm.com, используя в тексте шаблон доказательств с этой страницы и удалив все секреты.