web-dev-qa-db-ja.com

Xcode 9を使用したシステムリソースが不十分なため、デバイスを起動できません

Xcode 9からiOSシミュレーターを起動しようとすると、次のエラーが表示されます。

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

24
Sandy

システムで許可される実行プロセスを増やす必要があります。ターミナルから制限を変更できます。そのためのコマンドは次のとおりです。

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

シミュレータヘルプ内では、Appleのサンプル値は、1人のユーザーに対して20および25 totalです。

値を設定した後、iOSシミュレーターを終了し、Xcodeを再起動して、シミュレートされたデバイスをもう一度起動してください。

ただしこれによりシステムの速度が低下するになり、OSが不安定になる可能性があることに注意してください。これらの値は次の再起動までしか永続的ではないため、システムを再起動する必要があり、これらの値はデフォルトに復元されます。

シミュレータのヘルプから:

警告:プロセスの最大数を低すぎる数に設定すると、Macが正常に動作しなくなる可能性があります。マシンを再起動して、元の制限を復元します。

29
Tamás Sengel

次のコマンドは私を助けてくれました。ターミナルに以下のコマンドを貼り付けてみてください。問題が解決します。

Sudo launchctl limit maxproc 2000 2500

29
A H M

別の方法として、現在のシミュレータを終了してから、シミュレータをもう一度起動することもできます(理想的には別のiPhoneバージョン用)。

3
Prabhakar Kasi

他の人々がすでに答えたものは機能します。 sysctlを使用して値を個別に設定する方法は次のとおりです。

プロセスの合計最大数を設定するには:

Sudo sysctl kern.maxproc=<VALUE>

ユーザーごとのプロセスの最大数を設定するには:

Sudo sysctl kern.maxprocperuid=<VALUE>

<VALUE>は、設定する値です。

注:sysctlのパラメーターとして-wを使用すると言う人もいます。あなたは...それは何も傷つけません。しかし、MacOSの最新バージョンでは非推奨です。

次のコマンドで現在の値をリストできます。

Sudo sysctl kern.maxproc kern.maxprocperuid

これらの設定は、再起動後も保持されません。再起動後も値を保持するには、この投稿にあるようなことをしてください: https://discussions.Apple.com/thread/2781309

つまり、/Library/LaunchDaemons(たとえば、sysctl.plist)に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

私の場合、xcodeを終了して再度開きました。出来た。

または、シミュレータの複数のインスタンスを開いている場合、その場合もそのようなエラーが表示されるため、シミュレータの他のすべての要素を終了し、目的のシミュレータでアプリを実行します。

0
Amit Thakur

シミュレータの名前を変更すると、このエラーが発生します。

私はただ以前の名前に戻したマシンを再起動するを修正してくれた。

Appleが言ったように:

マシンを再起動して、元の制限を復元します。

そのため、シミュレーターの名前を変更すること以外は知りませんが、その制限に加えた変更はすべて元に戻ります。

正しい答えを出す前に、まずマシンを再起動してみてください。

(これはシステムのスローダウンを防ぐのに役立つかもしれません。乾杯!)

0
Pepeng Hapon