gpt4 book ai didi

linux - 如何获得 Docker 容器内的最大子进程数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:19:13 28 4
gpt4 key购买 nike

我正在尝试在以 --privileged 启动的 Docker 容器中运行以下程序:

root@1df00aaf673d:~# cat > sysconf_test.c
#include <unistd.h>
#include <errno.h>
#include <stdio.h>

int main() {
long n = sysconf(_SC_CHILD_MAX);
printf("%ld %d\n", n, errno);
return 0;
}
root@1df00aaf673d:~# gcc sysconf_test.c ; ./a.out
-1 0

经过 the sysconf man page , "如果 name 对应于最大或最小限制,并且该限制是不确定的,则返回 -1 并且 errno 不变。"有没有办法让它确定,也许是通过将一个选项传递给 docker run 命令?

最佳答案

我会回答我自己的问题:似乎 sysconf 返回 -1L 表示“无限制”,尽管手册页没有详细说明:

[root@llg00amn ~]# ulimit -u
120996
[root@llg00amn ~]# docker run -ti debian /bin/bash
root@5668a7acb957:/# ulimit -u
unlimited

ulimit 设置为实际数字后,程序运行正常并返回正确的结果。

关于linux - 如何获得 Docker 容器内的最大子进程数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46100247/

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