linux提示:connect: Resource temporarily unavailable
日志信息
ping 127.0.0.1
connect: Resource temporarily unavailable
127.0.0.1 是本地回环地址,ping 都连不上,说明问题 发生在本机的网络栈层面,而不是目标服务器或者路由的问题。
分析解决
1.文件描述符 / 套接字耗尽
Linux 系统对进程或者全局可用套接字数量有限制,如果被耗尽,会出现 “Cannot assign requested address” 或者 “Resource temporarily unavailable”。
检查当前系统限制:
1 | ulimit -n # 查看单个进程最大文件描述符 |
查看当前使用情况:
1 | lsof | wc -l |
如果发现使用量接近上限,就是原因。
2.网络栈或内核资源耗尽
可能有大量 TCP 连接(尤其是 TIME_WAIT 或 SYN_SENT)占用内核资源。
1 | ss -s |
关键指标:
TCP: inuse(占用 TCP 套接字)TCP: orphan(孤立套接字)
如果 inuse 接近 file-max 或系统极限,会导致无法再分配新套接字。
3.内核参数限制
可能有内核参数过小,导致 ephemeral port 或 TCP 套接字不足。
1 | sysctl net.ipv4.ip_local_port_range # 白名单 |
最终发现是:黑名单和白名单一致1024,65535导致问题
4.临时解决思路
重启网络服务:
1
systemctl restart network
如果情况紧急,可以重启机器释放所有资源(尤其是在高并发 SSH 隧道/连接占用下)。
优化内核:
1 | sysctl -w net.ipv4.ip_local_port_range="1024 65535" |
💡 结论:
你的问题 不只是 SSH,连本地回环都无法连接,说明整个网络栈资源耗尽(黑名单导致的)。重点检查 套接字/文件描述符耗尽,必要时重启网络或系统。