我在集群中有一台服务器正在经历进程表泄漏。因为这几天负责代码的开发者不可用,所以我在机器上增加了pid_max,如下:
echo 4194303 > /proc/sys/kernel/pid_max
这为我们赢得了时间,直到开发人员能够修复他的应用程序并阻止泄漏。
但是,我现在想让服务器与集群中的其他服务器重新内联。我担心的是 pids 在 300 万范围内的进程。如果我将 pid_max 降低到正常值,表中已经存在的 pid 会发生什么情况?系统需要重启吗?
我在集群中有一台服务器正在经历进程表泄漏。因为这几天负责代码的开发者不可用,所以我在机器上增加了pid_max,如下:
echo 4194303 > /proc/sys/kernel/pid_max
这为我们赢得了时间,直到开发人员能够修复他的应用程序并阻止泄漏。
但是,我现在想让服务器与集群中的其他服务器重新内联。我担心的是 pids 在 300 万范围内的进程。如果我将 pid_max 降低到正常值,表中已经存在的 pid 会发生什么情况?系统需要重启吗?
什么都不会发生。
我希望我可以说服务器会爆炸或至少会着火,但不...
随着 PID 的回收,它们将落入定义的范围内。您应该真正重新启动并使新设置在 sysctl.conf 中保持不变。但除了填充/字段问题之外,拥有更大范围的可用 PID 可能没有害处。
为了减少
pid_max
您需要确定的是,您的系统运行进程较少pid_max
我在我的 linux 工作站中使用了这个: