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
    • 最新
    • 标签
主页 / user-64031

Chris Maes's questions

Martin Hope
Chris Maes
Asked: 2019-10-11 23:51:49 +0800 CST

dnf 提到了排除的包,但它们没有被标记为排除

  • 1

我刚刚安装了centos8。我尝试安装最新版本的 docker-ce:

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
dnf install docker-ce

然后dnf告诉我:

Last metadata expiration check: 0:19:10 ago on Fri 11 Oct 2019 09:29:33 AM 
CEST.
Error: 
 Problem: package docker-ce-3:19.03.3-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
  - cannot install the best update candidate for package docker-ce-3:18.09.1-3.el7.x86_64
  - package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
  - package containerd.io-1.2.2-3.el7.x86_64 is excluded
  - package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
  - package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
  - package containerd.io-1.2.6-3.3.el7.x86_64 is excluded

但我没有指定任何排除项。既不在dnf.conf; 这是我的全部dnf.conf:

[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True

我尝试搜索可用的containerd.io软件包;但这些“排除”的包没有出现:

> dnf --showduplicates search containerd.io
Last metadata expiration check: 0:20:30 ago on Fri 11 Oct 2019 09:29:33 AM CEST.
======================================================================================= Name Exactly Matched: containerd.io =======================================================================================
containerd.io-1.2.0-3.el7.x86_64 : An industry-standard container runtime
containerd.io-1.2.0-1.2.beta.2.el7.x86_64 : An industry-standard container runtime
containerd.io-1.2.0-2.0.rc.0.1.el7.x86_64 : An industry-standard container runtime
containerd.io-1.2.0-2.2.rc.2.1.el7.x86_64 : An industry-standard container runtime
containerd.io-1.2.0-3.el7.x86_64 : An industry-standard container runtime

我真的不明白为什么dnf会以某种方式找到这些包,但同时排除它们......

centos
  • 1 个回答
  • 983 Views
Martin Hope
Chris Maes
Asked: 2019-09-07 01:55:29 +0800 CST

dnf 在一个命令中安装或更新/升级

  • 2

yum install package方法:

  • 如果package尚未安装,请安装最新版本
  • 如果package已经安装,更新到最新版本

dnf install package方法:

  • 如果package尚未安装,请安装最新版本
  • 如果package已经安装,什么也不做

如何模拟yum行为dnf?请注意,这也是 and 的行为zypper,apt-get因此dnf似乎只有不同的实现。

yum
  • 1 个回答
  • 750 Views
Martin Hope
Chris Maes
Asked: 2019-04-26 08:12:24 +0800 CST

运行多个 docker 实例时出现“pthread_create:资源暂时不可用”

  • 6

TLDR

当我在其中运行多个 docker 容器时npm ci,我开始收到pthread_create: Resource暂时不可用错误(少于 5 个 docker 容器可以正常运行)。我推断某处存在某种线程限制,但我找不到哪一个在这里阻塞。

配置

  • 一个Jenkins实例为每个构建启动 docker 容器(通过 ssh 连接到这个 docker 容器)。
  • 在每个容器中运行一些构建命令;我在使用时经常看到错误,npm ci因为这似乎创建了很多线程;但我不认为问题与npm它本身有关。
  • 所有 docker 容器都在单个docker-host上运行。它的规格:

码头主机

  • Intel(R) Xeon(R) Gold 5118 CPU @ 2.30GHz,12 核,220 GB RAM
  • 森托斯 7
  • Docker 版本 18.06.1-ce,构建 e68fc7a
  • 系统版本 219
  • 内核 3.10.0-957.5.1.el7.x86_64

错误

我可以看到不同形式的错误:

  • jenkins 无法联系到 docker 容器;像这样的错误:java.lang.OutOfMemoryError:无法创建新的本机线程
  • git clone在容器内失败并出现错误:克隆远程 repo 'origin' 时出错 ... 原因:java.lang.OutOfMemoryError:无法创建新的本机线程
  • npm ci使用节点 [1296] 在容器内失败:pthread_create:资源暂时不可用

我调查或尝试过的事情

我看了很多这个问题。

  • docker-host的systemd版本为 219,因此没有该TasksMax属性。
  • /proc/sys/kernel/threads-max= 1798308
  • kernel.pid_max= 49152
  • 线程数ps -elfT | wc -l(
  • 所有构建都以 docker 容器内 pid 1001 的某个用户身份运行;但是docker-host上没有 pid 1001 的用户,所以我不知道哪些限制适用于该用户。
  • 我已经为所有用户增加了多个限制/etc/security/limits.conf(见下文)
  • 我在docker-host上创建了一个 uid 1001 的虚拟用户,并确保它也nproc将限制设置为无限制。登录该用户ulimit -u= 无限制。这仍然没有解决问题

/etc/security/limits.conf :

*               soft    nproc           unlimited
*               soft    stack           65536
*               soft    nofile          2097152

ulimit -a作为根的输出:

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

我的 dockerd 进程的限制(/proc/16087/limits16087 是 dockerd 的 pid 的猫)

Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size            unlimited            unlimited            bytes     
Max core file size        unlimited            unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             unlimited            unlimited            processes 
Max open files            65536                65536                files     
Max locked memory         65536                65536                bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       899154               899154               signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us
docker ulimit
  • 1 个回答
  • 6908 Views

Sidebar

Stats

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

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve