win10 hyper-v 保留端口占用问题
提示
Java后台用idea启动项目时,会发现有部分端口有时候会被莫名其妙的占用,在cmd控制台查看端口情况又发现该端口并没有被占用,不知道原因。
但是,使用指令:netsh winsock reset 然后重启电脑,端口又被释放了,就很奇怪,老是重启电脑就不是个事,治标不治本。
后续通过搜索引擎,查阅解决了该问题,现分享出来,供大家参考。(关键就是电脑启动了--》hyper-v,导致的问题)
一丶查看系统默认端口占用访问
powershell / cmd 指令:netsh int ipv4 show dynamicport tcp # 协议 tcp 动态端口范围 Protocol tcp Dynamic Port Range --------------------------------- Start Port : 1024 Number of Ports : 13977
二丶查看hyper-v启动后的保留端口范围
powershell / cmd 指令:netsh interface ipv4 show excludedportrange protocol=tcp #协议 tcp 端口排除范围 #开始端口 结束端口 Protocol tcp Port Exclusion Ranges Start Port End Port ---------- -------- 1026 1125 1226 1325 1326 1425 1426 1525 1526 1625 2180 2279 * * - Administered port exclusions.
通过这个可以查看被占用的项目端口是否在这个范围内
三丶解决办法
由于直接进行第二步配置,会遇到程序占用(hyper-v占用)
所以需要先关闭hyper-v
关闭方式一:可以win+s 快捷键搜索 “windows功能” ,关闭hyper-v。
关闭方式二:或者使用下列命令(dism.exe /Online /Disable-Feature:Microsoft-Hyper-V),然后重启
1.配置ipv4动态端口 (1和2方法任取其一均可解决问题)
powershell / cmd 管理员权限 # start 起始端口 num 表示可用端口数 根据自己的需求来 默认是 1024 13977 指令:netsh int ipv4 set dynamicport tcp start=30000 num=16383
2.配置需要的端口不被占用(1和2方法任取其一均可解决问题)
powershell / cmd 管理员权限 # 排除ipv4动态端口占用 startport 起始端口 numberofports 端口数 指令:netsh int ipv4 add excludedportrange protocol=tcp startport=50051 numberofports=1 # 重启hyper-v 指令:dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)