gpt4 book ai didi

kubernetes - 无法在 OCP 容器中创建多个线程

转载 作者:行者123 更新时间:2023-12-02 12:13:50 25 4
gpt4 key购买 nike

最近,我们的一个容器中出现以下异常,该容器在 Openshift 4.2 中运行 Java 应用程序。这个容器曾经在 Openshift 3.11 上完美运行。

Exception in thread "main" java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:717

在容器中,ulimit 看起来非常好。见下图。

Ulimits

在 Openshift 3.11 中,同一个容器可以创建 4096 个线程。但在 Openshift 4.2 中它只能创建 1024 个线程。请看下面的图片,

OCP 3.11
Openshift 3.11

OCP 4.2
enter image description here

从上面的 ulimits 可以看出,docker 代理级别的配置已经完成。此外,我已经为操作系统分配了足够的内存来创建 native 线程。但我不知道这个限制是在哪里设置的。如何增加此全局限制?提前致谢。

最佳答案

默认情况下,OpenShift 3 使用 docker 作为容器运行时,而 OpenShift 4 使用 cri-o作为容器运行时。

根据Default pids_limit too low - 默认情况下,使用 cri-o 时有 1024 个线程的限制。

关于kubernetes - 无法在 OCP 容器中创建多个线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59588612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com