一台服务器最大能支持多少条 TCP 连接

TCP 连接不是只靠服务端端口区分,而是靠四元组:客户端 IP + 客户端端口 + 服务端 IP + 服务端端口

服务器监听 10.0.0.8:8080,下面三条连接可以同时存在:

192.168.1.10:50001 -> 10.0.0.8:8080
192.168.1.10:50002 -> 10.0.0.8:8080
192.168.1.11:50001 -> 10.0.0.8:8080

8080 并不会被第一条连接“占完”。只要四元组不同,Linux 内核就分得清。

线上遇到连接数问题,我一般先看这几项:

ulimit -n

cat /proc/$(pidof java)/limits | grep "open files"

ls /proc/$(pidof java)/fd | wc -l

ss -s

Linux 下,一条 TCP 连接至少占用一个文件描述符。如果 Java 进程的限制还是 1024,连接数稍微一上来,日志里就会出现:

java.net.SocketException: Too many open files
posted @ 2026-08-04 22:19  KLAPT  阅读(3)  评论(0)    收藏  举报