我不是 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 个进程并且没有终止的机会;这不是常见的事情,并且怀疑是否可以出于任何实际原因做到这一点。