解决 Windows 运行一段时间后无法联网的问题

症状描述

浏览器无法打开任何网站,微信无法登录,访问其它计算机的共享目录时提示 超出本地计算机网络适配器卡的名称限制,几乎所有使用 TCP 连接的程序都无法联网,重启计算机后恢复正常。

原因分析

问题的原因是某些程序占用了用户可用端口范围内的所有端口,若此时有新的程序需要联网,就会因为分配不到可用的端口而导致无法创建网络连接。虽然重启 Windows 系统的 Workstation 服务能释放所有被占用的端口,但此方法治标不治本。更有效的办法是修改注册表,将可用端口范围从默认的 5000 修改到 65535,并将连接超时时间设置为 30 秒,避免过多的僵尸连接长时间占用端口。

解决方法

将以下内容保存为 .reg 文件然后导入即可:

1
2
3
4
5
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"MaxUserPort"=dword:0000ffff
"TCPTimedWaitDelay"=dword:0000001e

注意

上面的 0000ffff0000001e 为十六进制数,转换成二进制则是 6553530