Linux 中的进程 ID 几周后持续增加到数千个,这正常吗?

Linux 中的进程 ID 几周后持续增加到数千个,这正常吗?

我不是 Linux 专家,不知道如何开始调试这个问题,或者这是否是一个问题。

我在 Windows 机器上运行 Linux 服务器(双启动),每隔几天,ps aux分配的进程 ID 就会越来越高。大约两周后,分配的进程 ID 约为 17,000。

这是正常现象吗?我原本以为进程 ID 会被重复使用。

答案1

这不是一个问题,而是一种预期的正常行为。

“我不是 Linux 专家,也不知道如何开始调试这个问题,或者这是否是一个问题。”

这不是问题。Linux ids 会运行到指定的数量,然后在达到该最大数量后回滚到开始位置。]

您可以通过运行以下命令从终端进行检查:

cat /proc/sys/kernel/pid_max

我在管理的 Ubuntu 16.04.5 服务器上得到的输出是:

32768

正如proc手册页:

/proc/sys/kernel/pid_max(自 Linux 2.5.34 起)

此文件指定 PID 回绕的值(即,此文件中的值比最大 PID 大 1)。此文件的默认值为 32768,PID 范围与早期内核相同。在 32 位平台上,32768 是 pid_max 的最大值。在 64 位系统上,pid_max 可以设置为最大为 2^22 的任意值(PID_MAX_LIMIT,大约为 4 百万)。

对于 99% 的使用情况来说,这个数字并不重要,因为您只需要担心您是否以某种方式同时运行 32,768 个进程并且没有终止的机会;这不是常见的事情,并且怀疑是否可以出于任何实际原因做到这一点。

相关内容