使用Xcode 9时由于系统资源不足无法启动设备

36
当我尝试从 Xcode 9 启动 iOS 模拟器时,会弹出以下错误:"Unable to boot device due to insufficient system resources" error dialog

我使用这个DDG搜索找到了重复的内容:https://duckduckgo.com/?q=Unable+to+boot+device+due+to+insufficient+system+resources+using+Xcode+9。 - halfer
1
不想执行下面的命令。我只是重启了我的笔记本电脑,问题解决了。 - liu pluto
13个回答

39

下面的命令可以解决这个问题。 尝试将以下命令粘贴到终端中,它应该可以解决您的问题。

sudo launchctl limit maxproc 2000 2500


理想情况下,它可以在不重启Xcode的情况下工作,但需要知道您为什么会遇到这个问题,因此必须重新启动Xcode。 - Aditya Malviya

37

您应该增加系统允许的运行进程数。您可以通过终端修改限制。命令如下:

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

模拟器帮助中,苹果的示例值为2000个用户和2500个用户总数。

设置这些值后,请退出iOS模拟器,然后重新启动Xcode并尝试再次启动模拟设备。

但是,请注意,这可能会减慢系统速度并使操作系统不稳定。由于这些值仅在下一次重启之前保持永久,所以您应该重新启动系统,它将把这些值恢复为默认值。

来自模拟器帮助

警告: 将最大进程数设置得太低可能会导致您的 Mac 无法正确运行。重新启动您的计算机可恢复原始限制。


尝试了上述命令后,一切都停止工作了。重新启动 Mac 解决了问题。在使用该命令之前要小心。 - Kumar
@LalitKumar 很抱歉听到这个消息,如果再次出现此问题,请尝试使用更高的值。 - Tamás Sengel

7

或者,您可以退出当前模拟器,然后再次启动模拟器(最好是使用不同的iPhone版本)。


3
这个错误发生在我重命名模拟器后。我将模拟器的名称改回了之前的名字,然后重新启动电脑,问题便得到了解决。
正如苹果所说:
“重启你的电脑可以恢复原始限制。”
因此,我对这些限制所做的任何更改,除了重命名模拟器外,都会回到原始状态。
在执行正确答案中提到的操作之前,请先尝试重启您的机器。
(这也有助于防止系统变慢。祝您好运!)

2

在我的情况下,问题比较简单,我的Mac存储空间已满。我删除了几个GB的未使用文件,重启Mac,问题得到解决。


2

我关闭了Xcode和模拟器,然后重新启动了计算机,错误就消失了。已经过去3天了,它没有再次出现。在更改设置之前,建议先重新启动。


2
其他人已经给出了解决方案。这里还有一种使用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目录下创建一个plist文件(例如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
在我的情况下,我只是退出了Xcode并重新打开。这样就可以了。
或者,如果您有多个模拟器实例打开,则也会出现此类错误,因此请退出所有其他模拟器实例并在所需的模拟器上运行应用程序。

0

xCode 12.4 在我的情况下,没有模拟器显示。解决方案是单击苹果图标,选择强制退出并选择模拟器。


0

在我的情况下,我只是退出Xcode,然后重新打开,问题就解决了。


这个问题已经在其他答案中提到过,比如这个。在回答那些已经有答案的老问题时,请确保您提供的是一个新颖的解决方案或者一个比现有答案更好的解释。 - Eric Aya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接