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
posted @   luckyangg  阅读(2264)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示