hyper-v占用其他软件或服务端口解决方案

这个问题的背景分为两部分:

    1. Windows 中有一个「TCP 动态端口范围」,处在这个范围内的端口,有时候会被一些服务占用。在 Windows Vista(或 Windows Server 2008)之前,动态端口范围是 1025 到 5000;在 Windows Vista(或 Windows Server 2008)之后,新的默认起始端口为 49152,新的默认结束端口为 65535
    2. 如果安装了 Hyper-V,那么 Hyper-V 会为容器宿主网络服务(Windows Container Host Networking Service)随机保留一些端口号使用。

正常情况下,Hyper-V 虽然会在「TCP 动态端口范围」中随机挑一些端口号保留(占用),不过保留的端口号普遍比较大,就算保留几百、几千个也影响不大。但是,Windows 自动更新有时会出错,导致这个范围的起始端口被重置为 1024……这可就麻烦了,一些常用端口动不动就因为被保留而无法使用了。

使用命令 netsh int ipv4 show dynamicport tcp 可以查看目前「TCP 动态端口」的范围,如图 1 所示。

图 1 查看目前「TCP 动态端口」的范围

这只是一个「待选择」范围,并不代表其中的所有端口都会被保留,只是有一部分会被 Hyper-V 征用。使用 netsh int ipv4 show excludedportrange protocol=tcp 命令可以查看当前所有已经被征用了的端口,如图 2 所示。

图 2 当前所有已经被征用了的端口

如果这些被征用的端口范围随机挑选到 808880003000 等 Web 开发常用端口,那开发就会受到影响;如果挑选到其他应用软件要调用的端口,那这些应用软件就会受到影响,可以说非常坑爹了……

在说正确的解决方法前,我们先说一个在 Stack Overflow 上看到的错误解决方法,这个方法还在好几个地方被提到过。

2. 错误的解决方法

错误的解决方法是,运行 net stop winnat 停止 winnat 服务,然后再运行 net start winnat 启动 winnat 服务。

这个方法本质上就是重启电脑的简化版……让 Hyper-V 再随机初始化一些端口保留,如果正好没随机到要用的端口,那一次成功。如果还是随机到了要用的端口,那就只能多来几次。

在那个问题的回答下,我看到有一些网友说「对我有用」,也有一些网友说「对我没用」,原因就是这个方法解决问题的概率完全是随机的……

3. 正确的解决方法

正确的解决方法很简单,就是重新设置一下「TCP 动态端口范围」,让 Hyper-V 只在我们设定的范围内保留端口即可。可以以管理员权限运行下面的命令,将「TCP 动态端口范围」重新设定为 49152-65535。如果你觉得这个范围太大,还可以改小一点。

1

2

netsh int ipv4 set dynamic tcp start=49152 num=16384

netsh int ipv6 set dynamic tcp start=49152 num=16384

然后重启电脑即可。

重启电脑后,再运行命令 netsh int ipv4 show dynamicport tcp 查看动态端口范围,发现确实已经修改为了 49152-65535。现在只有这个范围内的端口可能会被保留了,基本不会影响日常使用(图 3)。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hyper-V是Microsoft提供的一款虚拟化技术,可以作为虚拟化部署的底层软件。与其他虚拟化技术相比,Hyper-V的硬件资源占用情况与虚拟机的配置和使用情况有关。一般来说,Hyper-V的硬件资源占用情况主要涉及以下方面: 1. CPU资源:Hyper-V在物理服务器上运行时,会占用一定的CPU资源,用于处理虚拟机的请求和管理虚拟化环境。虚拟机数量、虚拟机配置以及虚拟机使用情况等都会影响Hyper-V对CPU资源的占用。 2. 内存资源:Hyper-V在物理服务器上运行时,会占用一定的内存资源,用于存储虚拟机的映像、配置和状态等信息。虚拟机数量、虚拟机配置以及虚拟机使用情况等都会影响Hyper-V对内存资源的占用。 3. 存储资源:Hyper-V需要将虚拟机的映像、数据和配置文件等存储到物理服务器的存储设备中。虚拟机数量、虚拟机配置以及虚拟机使用情况等都会影响Hyper-V对存储资源的占用。 4. 网络资源:Hyper-V需要为虚拟机提供网络连接,需要占用一定的网络带宽和网络设备资源。虚拟机数量、虚拟机配置以及虚拟机使用情况等都会影响Hyper-V对网络资源的占用。 因此,Hyper-V的硬件资源占用情况与虚拟机的配置和使用情况密切相关。在实际部署中,需要根据实际需求和资源预算,合理配置虚拟机和物理服务器的硬件资源,以达到最佳的性能和资源利用效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值