发布时间:2022-12-08 文章分类:编程知识 投稿人:赵颖 字号: 默认 | | 超大 打印

先说结果,最终问题解决了,参照https://blog.csdn.net/liu_005/article/details/83443790这位大佬的方式进行解决的,非常感谢

  项目环境:WindowsServer系统,springboot项目

  出现的问题:项目访问后台接口的时候变的非常慢,甚至都超过前端设定的超时时长
(2分钟),都没有返回结果,起初以为是程序因为长时间开启,导致内存满了,就想着结束其中一个项目,重启一下,看看效果,结果项目停止后就起不起来了,只要启动就报端口被占用,可是根据端口号去查询的时候发现,端口根本就没有被占用,后来无论修改成什么端口,都提示端口被占用,人麻了,这是见鬼了?

  解决过程:其实也没什么主要的过程,因为重启项目一直在报端口被占用的错误,所以查找方向一直都是springboot项目启动时报端口被占用,但是根据端口却找不到被占用的端口,当然,这个方向是错误的,找了一圈,都没有合适的解决方式,幸亏当时准备重启的时候,没有把所有项目都停了,在偶然间,发现一个启动中的项目报异常了,这个异常就是No buffer space available

  解决步骤:根据这个异常,在经过查找后,根据https://blog.csdn.net/liu_005/article/details/83443790这位大佬的解释,才发现原来是端口不够用了,根据他的步骤,终于将问题解决了

       首先打开cmd命令窗口输入:netsh int ipv4 show dynamicportrange tcp来查看,具体如下:
windows系统下重启springboot项目时,提示端口被占用,却找不到占用端口的程序,已启动的项目报No buffer space available异常

       然后通过命令netsh int ipv4 set dynamicport tcp start=2000 num=63000修改端口数。

       其中:
          start为起始端口号
          num为端口数量

  最终在不用重启电脑的情况下,终于将这个问题解决了,后来根据这个问题,我又往下查了查,除了端口被占用,根据端口找不到被占用的端口这个问题是端口不够用引起的,访问速度变慢有可能也是这个原因引起的。

  对于这个问题,目前我只是知其然,不知其所以然,只知道解决了,却不知道问题的根本原因是在哪,如果各路大神有知道怎么排查的,还望不吝赐教一下