it-swarm.com.ru

Невозможно загрузить устройство из-за недостатка системных ресурсов с использованием Xcode 9

Когда я пытаюсь запустить iOS Simulator из Xcode 9, появляется следующая ошибка:

 "Unable to boot device due to insufficient system resources" error dialog

16
Sandy

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

Sudo launchctl limit maxproc [limit for one user] [total limit]

В справке симулятора примерные значения Apple: 2000 для одного пользователя и 2500 всего.

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

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

От Справка симулятора :

ПРЕДУПРЕЖДЕНИЕ: Установка максимального числа процессов на слишком низкое число может помешать правильной работе вашего Mac. Перезагрузите компьютер, чтобы восстановить исходные ограничения.

22
Tamás Sengel

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

Sudo launchctl предел maxproc 2000 2500

22
Aditya Malviya

Кроме того, вы можете выйти из текущего симулятора, а затем снова запустить симулятор (в идеале для другой версии iPhone).

3
Prabhakar Kasi

То, что другие люди уже ответили, работает. Вот способ также установить значения независимо с помощью sysctl:

Чтобы установить максимальное количество процессов:

Sudo sysctl kern.maxproc=<VALUE>

Чтобы установить максимальное количество процессов на пользователя:

Sudo sysctl kern.maxprocperuid=<VALUE>

Где <VALUE> - это любое значение, которое вы хотите установить.

ПРИМЕЧАНИЕ. Некоторые люди говорят, что следует использовать -w в качестве параметра sysctl. Вы можете ... это ничего не повредит. Но это устарело в современных версиях MacOS.

Вы можете перечислить текущие значения с помощью этих команд:

Sudo sysctl kern.maxproc kern.maxprocperuid

Эти настройки не будут сохраняться при перезагрузке. Чтобы сохранить значения при перезагрузке, сделайте что-то вроде этого: https://discussions.Apple.com/thread/2781309

То есть, создайте файл plist в /Library/LaunchDaemons (например, sysctl.plist), который устанавливает значения так, как вы хотите. Вот пример:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
"http://www.Apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
 <key>Label</key>
 <string>sysctl</string>
 <key>ProgramArguments</key>
 <array>
 <string>/usr/sbin/sysctl</string>
 <string>-w</string>
 <string>kern.maxprocperuid=1024</string>
 <string>kern.maxproc=2048</string>
 </array>
 <key>RunAtLoad</key>
 <true/>
</dict>
</plist>
1
stuckj