在Linux上,我怎么知道有多less临时端口可用?

在Linux中有没有一种方法来检查有多less临时端口可用? 我偶尔会看到“地址已被使用”错误,因为用完了临时端口。 机器重新启动将解决这个问题,但最好在它发生之前捕获它。

ephermal端口范围在/proc/sys/net/ipv4/ip_local_port_range 。 你也许可以扩展它从16k运行到64k。

您可以使用netstat -an查看打开连接的数量。 如果打开和closures大量连接,套接字可能会卡在TIME_WAIT状态。 在某些地方这是不可避免的,但是如果情况确实如此,您可能需要考虑是否需要连接池。

如果TIME_WAIT出现问题,可以设置net.ipv4.tcp_tw_reuse / net.ipv4.tcp_tw_recycle以加快连接周转。