AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[fork](server)

Martin Hope
void
Asked: 2020-05-21 13:07:01 +0800 CST

Docker-compose // OCI 运行时创建失败 // pthread_create 失败

  • 1

最近我租了一个 VPS 作为私人游乐场和学习 docker。我想在 nginx-proxy 和 docker-letsencrypt-nginx-proxy-companion后面托管一些网络服务。

设置

服务器运行 Ubuntu 18.04.4 LTS,Docker版本 19.03.6,构建 369ce74a3c,docker-compose版本 1.17.1,构建未知。

4GB vRAM,4vCores(硬件在 Intel Xeon 上运行)

问题

一旦我想运行超过 8 个容器,我就会遇到错误。有一些不同的错误,我不能特别说明其中哪一个出现的时间:

  • OCI runtime create failed例如,当尝试使用 mysql 将 joomla 作为 compose-project 启动时:
ERROR: for joomla_joomladb_1  Cannot start service joomladb: OCI runtime create failed:
unable to retrieve OCI runtime error (open /run/containerd/io.containerd.runtime.v1.linux/moby/741c[...]6e3/log.json:
no such file or directory): fork/exec /usr/sbin/runc: resource temporarily unavailable: unknown
  • socket reset
ERROR: for joomla_joomladb_1  Cannot start service joomladb: read unix @->@/containerd-shim/24f42b8[...]32fa1.sock:
read: connection reset by peer: unknown
  • pthread_create failed: Resource temporarily unavailable我现在没有任何相应的日志。如果错误再次发生,我将在此处发布它们。但一条线似乎总是parent id not found
  • 分叉失败。当出现这个错误时,我不能再做任何事情了。看下一点:

此外,与此相关的是,有时我在输入任何命令时会在我的 shell 上遇到一些奇怪的错误。当服务器处于这种状态时,我既不能 su 到 root 也不能​​根据命令行重新启动。你可以看到我试图sudo在这张图片中输入:任何命令的错误。甚至关机或重启

我试过的

  • 我在 Github 和其他一些人上看到了这份报告,并提到了机器上的最大任务限制。我已经将它设置为更高的音量,infinity但所有这些似乎都没有帮助。(我曾经将其更改/etc/systemd/system.conf为 per systemctl edit docker.service)。
$ systemctl show --property=DefaultTasksMax
 DefaultTasksMax=4659
$ systemctl status docker
...
  Tasks: 52
...
  • 我在我的笔记本电脑上安装了完全相同的系统(除了虚拟化软件——VPS 在 Virtuozzo 上运行,我在本地使用 Quemu 和 virt-manager)——一切都按预期工作!

  • 我尝试启动的任何容器都会出现问题。hello-world,其他撰写项目或已构建的项目...

  • 我联系了我的托管服务提供商,也提到了上述问题,并表示他们不会限制任何使用。

virtualization vps docker-compose fork virtuozzo
  • 1 个回答
  • 1651 Views
Martin Hope
Azeirah
Asked: 2020-05-03 07:50:11 +0800 CST

达到进程限制,但不确定如何

  • 0

我运行一个服务器,主要用于随机 Docker 容器和作为 Gitlab-CI 运行器。每隔一段时间,当服务器运行一周左右时,我就会遇到进程资源限制。

例如,我尝试配置 gitlab runner,

...
Registering runner... succeeded                     runner=gy1zjHEv
runtime: failed to create new OS thread (have 9 already; errno=11)
runtime: may need to increase max user processes (ulimit -u)
fatal error: newosproc
...

或者几分钟后,尝试安装该strace实用程序

(in dutch)
...
Instellen van strace (4.21-1ubuntu1) ...
Bezig met afhandelen van triggers voor man-db (2.8.3-2ubuntu0.1) ...
/usr/bin/mandb: fork failed: Hulpbron is tijdelijk onbeschikbaar
/usr/bin/mandb: fork failed: Hulpbron is tijdelijk onbeschikbaar
/usr/bin/mandb: fork failed: Hulpbron is tijdelijk onbeschikbaar
/usr/bin/mandb: fork failed: Hulpbron is tijdelijk onbeschikbaar
/usr/bin/mandb: fork failed: Hulpbron is tijdelijk onbeschikbaar
/usr/bin/mandb: fork failed: Hulpbron is tijdelijk onbeschikbaar
/usr/bin/mandb: fork failed: Hulpbron is tijdelijk onbeschikbaar
/usr/bin/mandb: fork failed: Hulpbron is tijdelijk onbeschikbaar
/usr/bin/mandb: fork failed: Hulpbron is tijdelijk onbeschikbaar
/usr/bin/mandb: fork failed: Hulpbron is tijdelijk onbeschikbaar
/usr/bin/mandb: fork failed: Hulpbron is tijdelijk onbeschikbaar
/usr/bin/mandb: fork failed: Hulpbron is tijdelijk onbeschikbaar
/usr/bin/mandb: fork failed: Hulpbron is tijdelijk onbeschikbaar
/usr/bin/mandb: fork failed: Hulpbron is tijdelijk onbeschikbaar
Bezig met afhandelen van triggers voor libc-bin (2.27-3ubuntu1) ...

它转化为fork failed: Resource is temporarily unavailable

有什么东西导致fork抛出EAGAIN。

超限

$ ulimit -u
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 1029355
max locked memory       (kbytes, -l) 16384
max memory size         (kbytes, -m) unlimited
open files                      (-n) 32768
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 62987
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

我的最大用户进程设置为62987,我离使用 62,000 个进程还差得很远。gitlab 异常还显示当前进程数为 9,这应该是“太高”了吗?

如果我离配置的 ulimit 不远,克隆怎么可能遇到进程资源限制?

ulimit cgroup fork
  • 1 个回答
  • 1056 Views
Martin Hope
Telen Stanley
Asked: 2016-11-17 02:41:07 +0800 CST

有没有办法在 linux 中将 mongo-connector 作为后台进程启动?

  • 0

我正在使用mongo-connector在 MongoDB 和 SOLR 之间同步数据。我在RedHat 7 OS Server中工作,我想在 Server OS 中将 mongo-connector 命令作为fork进程运行,因为我需要实时同步而不会中断。

我正在发出命令

sudo mongo-connector -m localhost:27017 -t http://localhost:8983/solr/Search --auto-commit-interval=0 -d solr_doc_manager

这将继续 mongo-connector 服务,直到我退出服务器的命令界面。我该如何解决这个问题?

谢谢你。

linux redhat python fork
  • 2 个回答
  • 849 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve