我们的网络服务器由于端口耗尽而出现问题。这种情况每两周发生一次,重新启动即可解决问题。但我想彻底解决这个问题,并找到一个永久的解决方案以避免重新启动。
我读本文它确实很有用。但是,它提到了这一点:
因此,如果你看到一个进程占用了大量端口,与一个或多个远程地址通信,并且连接状态为 TIME_WAIT,这通常表明该进程出现了问题,没有正确释放这些端口。
(重点是我的)
再往下还有这样一段话:
我上面提到过,内存泄漏也会导致这种行为——究竟为什么会这样?发生的情况是,为了获得用于出站连接的端口,进程需要获取该端口的句柄。该句柄来自非分页池内存。因此,如果发生内存泄漏,并且用完了非分页池,需要与网络上的其他机器通信的进程将无法获取句柄,因此无法获取所需的端口。
问题:
- 作者的意思是什么没有正确释放这些端口? 那是谁的工作?程序员?
- 有人可以详细说明内存泄漏可能导致什么吗端口耗尽因为我读完上面的内容之后还是不确定?
最后要记住的事情是,我是一名程序员,而不是管理员(如果这有任何帮助的话)。