web-dev-qa-db-fra.com

Impossible de démarrer le périphérique en raison de ressources système insuffisantes avec Xcode 9

Lorsque j'essaie de lancer un simulateur iOS à partir de Xcode 9, le message d'erreur suivant s'affiche:

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

16
Sandy

Vous devez augmenter les processus en cours autorisés pour votre système. Vous pouvez modifier les limites via Terminal. La commande pour cela est la suivante:

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

Dans l'aide de Simulator, les exemples de valeurs d'Apple sont 2000 pour un utilisateur et 2500 total.

Après avoir configuré les valeurs, quittez iOS Simulator, puis redémarrez Xcode et essayez de relancer un appareil simulé.

Cependant, gardez à l’esprit que cela peut ralentir votre système et rendre le système d’exploitation instable . Étant donné que ces valeurs ne sont permanentes que jusqu'au prochain redémarrage, vous devez redémarrer votre système pour qu'il restaure ces valeurs par défaut.

Depuis Aide sur Simulator :

AVERTISSEMENT: Si vous définissez le nombre maximal de processus sur un nombre trop bas, votre Mac risque de ne pas fonctionner correctement. Redémarrez votre ordinateur pour rétablir les limites d'origine.

22
Tamás Sengel

Suivre la commande m'a aidé à sortir . Essayez de coller la commande ci-dessous dans le terminal et cela devrait résoudre votre problème.

Sudo launchctl limit maxproc 2000 2500

22
Aditya Malviya

Vous pouvez également quitter le simulateur actuel, puis le relancer (idéalement pour une version iPhone différente).

3
Prabhakar Kasi

Ce que les autres personnes ont déjà répondu fonctionne. Voici un moyen de définir également les valeurs indépendamment avec sysctl:

Pour définir le nombre total maximal de processus:

Sudo sysctl kern.maxproc=<VALUE>

Pour définir le nombre maximal de processus par utilisateur:

Sudo sysctl kern.maxprocperuid=<VALUE>

<VALUE> est la valeur que vous souhaitez définir.

NOTE: Certaines personnes disent d'utiliser -w en tant que paramètre pour sysctl. Tu peux ... ça ne fera pas de mal. Mais, il est déconseillé dans les versions modernes de MacOS.

Vous pouvez lister les valeurs actuelles avec ces commandes:

Sudo sysctl kern.maxproc kern.maxprocperuid

Ces paramètres ne persisteront pas lors d'un redémarrage. Pour conserver les valeurs tout au long d’un redémarrage, procédez comme suit: https://discussions.Apple.com/thread/2781309

Par exemple, créez un fichier plist dans /Library/LaunchDaemons (par exemple, sysctl.plist) qui définit les valeurs à votre guise. Voici un exemple:

<?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