今天,我刚刚注意到我的进程in非常高,在40万(即449624)。当我运行ps -ef | more时,我注意到了这一点。这是正常的还是有问题的?否则,脚本运行良好。
我正在使用红帽7.3 x64位。
我注意到的另一件事是,我们还有Redhat 7.2,pids没有那么高,只是在较新的操作系统上。为什么会这样?这是否意味着它与操作系统相关且正常?
我的sysctl.conf里没有那个D2。我跑猫/proc/sys/kernel/pid_max,我看到了458752。
发布于 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查询这个问题。
sudo sysctl -a | grep kernel.pid_max或者:
sysctl -n kernel.pid_max修改/etc/sysctl.conf以永久更改该值,并使用sysctl -p重新加载。
发布于 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。。
https://unix.stackexchange.com/questions/500255
复制相似问题