叉:重试:资源暂时不可用

Rak*_* KR 48 linux fork

当我连接到我的服务器时,

-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: Resource temporarily unavailable
Run Code Online (Sandbox Code Playgroud)

我也尝试遵循命令,结果是一样的。

-bash-4.1$ df -h
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: Resource temporarily unavailable
-bash-4.1$ 
-bash-4.1$ ls -lrth
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: Interrupted system call
-bash-4.1$ 
-bash-4.1$ ps -aef | grep `pwd`
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: Resource temporarily unavailable
-bash-4.1$ 
Run Code Online (Sandbox Code Playgroud)

为什么要来?我该如何解决?

Ven*_*atC 28

这可能是由于服务器本身(或)特定于您的用户帐户的某些资源限制。可以通过ulimit -a. Esp 检查ulimit -u最大用户进程,如果您已达到最大进程,fork 将无法创建任何新的并因该错误而失败。这也可能是由于交换/内存资源问题


ken*_*orb 22

fork:资源暂时不可用

该错误意味着当前的 shell 资源是有限的(检查限制ulimit -a)。因此,您可以在另一个 shell 中尝试,或者通过使用ulimit命令来增加资源,该命令控制 shell 可用的资源并处理它在操作系统上创建的进程。

要增加限制,请尝试运行:

ulimit -Sn unlimited && ulimit -Sl unlimited
Run Code Online (Sandbox Code Playgroud)

将软限制提高到硬限制,或者:

ulimit -l unlimited
ulimit -n 10240 
Run Code Online (Sandbox Code Playgroud)

将进程的最大大小设置为无限制,将打开文件的最大数量设置为 10240。

请参阅:help ulimit了解更多信息。

要使其持久化,请将上述设置添加到您的启动rc文件中(例如~/.bashrc)。


您还可以使用/etc/sysctl.conf(参见: man sysctl.conf)来增加内核限制,例如

kern.maxprocperuid=1000
kern.maxproc=2000
Run Code Online (Sandbox Code Playgroud)

  • 发生此错误时,“重试”是否意味着它将重复尝试,直到资源可用? (2认同)
  • @DavidB或者它_did_重试,但失败了。 (2认同)