首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我看到pids在40万以上,为什么呢?这是否表明出了什么问题?

我看到pids在40万以上,为什么呢?这是否表明出了什么问题?
EN

Unix & Linux用户
提问于 2019-02-12 19:56:35
回答 2查看 8.7K关注 0票数 20

今天,我刚刚注意到我的进程in非常高,在40万(即449624)。当我运行ps -ef | more时,我注意到了这一点。这是正常的还是有问题的?否则,脚本运行良好。

我正在使用红帽7.3 x64位。

我注意到的另一件事是,我们还有Redhat 7.2,pids没有那么高,只是在较新的操作系统上。为什么会这样?这是否意味着它与操作系统相关且正常?

我的sysctl.conf里没有那个D2。我跑猫/proc/sys/kernel/pid_max,我看到了458752

EN

回答 2

Unix & Linux用户

发布于 2019-02-12 20:24:54

来自这个proc文献资料

在32位平台上,32768是pid_max的最大值.在64位系统上,pid_max可以设置为2^22 (PID_MAX_LIMIT,约400万)的任意值.

您可以看到with cat /proc/sys/kernel/pid_max。您还可以使用sysctl查询这个问题。

代码语言:javascript
复制
sudo sysctl -a | grep kernel.pid_max

或者:

代码语言:javascript
复制
sysctl -n kernel.pid_max

修改/etc/sysctl.conf以永久更改该值,并使用sysctl -p重新加载。

票数 17
EN

Unix & Linux用户

发布于 2019-02-12 20:03:31

进程ID可以是由特定于操作系统的pid_t类型表示的任何值。实际上,它通常是一个32位有符号整数,这意味着最大进程ID将为2147483647,或者大约是您观察到的进程ID的5000倍。

GNU文件说:

数据类型:pid_t pid_t数据类型是一个有符号整数类型,它能够表示进程ID。

在实践中,内核通常会强制执行一个较低的上限。在Linux系统上,这是由/proc/sys/kernel/pid_max控制的,默认为32768。如果您的系统是Linux,您可以检查该文件,看看当前的限制是什么。

在不同的操作系统上,限制可能是不同的;例如,似乎是在macOS上,PID_MAX硬编码为99999。

票数 7
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/500255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档