为什么PID为0的系统空闲进程会“不停使用”网络资源?

为什么PID为0的系统空闲进程会“不停使用”网络资源?,第1张

通过仔细观察,我们可以发现,命令结果列出的所有PID为0的通信的状态均为Time_Wait,而决不会是Established建立状态或者是Listening监听状态,这个就要涉及到一个TCP Socket的问题了。


原因是这样的:


一、关于Time_Wait状态:


TCP TIME-WAIT 延迟断开TCP 连接时,套接字对被置于一种称为TIME-WAIT 的状态。这样,新的连接不会使用相同的协议、源 IP 地址、目标 IP 地址、源端口和目标端口,直到经过足够长的时间后,确保任何可能被错误路由或延迟的段没有被异常传送。

因此,Time_Wait不是多余的状态,而是为了保证通信的正确性、准确性而存在的。而且,这样的状态往往都交给系统空闲进程处理了,因为具体的应用程序已经完成了通信过程,发出了数据。因此,这里PID为0的通信均是已“断开”的曾经被进程使用过的连接,而且还没有释放端口。


二、关于端口的释放:


三、我们所看到的空闲进程端口占用的特点:


因为总是有程序要交替或者分段连续地访问网络,而且同一个程序在端口被完全释放之前,可能还会再次使用,就算不再使用,为了保证正确通信,也要等待两个MSL,故处于Time_Wait。因此我们看到的情况是,系统空闲进程占用了一些端口,而且这些端口、端口的数量随着每次执行netstat -a -n -o命令时也会有变化。

因为可能在某个处于Time_Wait的端口被完全释放之前,又有一个连接不再需要某个端口了,故新的一个端口又被置于Time_Wait状态,过了不久,前一个终于被释放了,于是您还是看到有这样的状态,但是端口是不一样的。

1运行cmd,输入netstat -ano,查看端口。
2找到8080端口,查看在运行程序的pid。
3再到桌面,从控制面板进入任务管理器。
4从进程里看程序是看不到PID的,只有点右侧的详细信息,才可以看到PID。
5找到相同的PID进程,点结束进程就可以了,这样8080端口就不会再被占用了。
6回到服务器,重新运行一次,看看是否还有错误,如果已经没有错误,运行成功了。

可能是系统有问题了。直接换个验证过的系统盘重装系统就行了,这样就可以全程自动、顺利解决 系统占用内存高 的问题了。用u盘或者硬盘这些都是可以的,且安装速度非常快。但关键是:要有兼容性好的(兼容ide、achi、Raid模式的安装)并能自动永久激活的、能够自动安装机器硬件驱动序的系统盘,这就可以全程自动、顺利重装系统了。方法如下:
1、U盘安装:用ultraiso软件,打开下载好的系统安装盘文件(ISO文件),执行“写入映像文件”把U盘插到电脑上,点击“确定”,等待程序执行完毕后,这样就做好了启动及安装系统用的u盘,用这个做好的系统u盘引导启动机器后,即可顺利重装系统了;
2、硬盘安装:前提是,需要有一个可以正常运行的Windows系统,提取下载的ISO文件中的“GHO”和“安装系统EXE”到电脑的非系统分区,然后运行“安装系统EXE”,直接回车确认还原 *** 作,再次确认执行自动安装 *** 作。(执行前注意备份C盘重要资料!);
3、图文版教程:有这方面的详细图文版安装教程怎么给你?不能附加的。会被系统判为违规的。
用这个可以解决问题的,重装系统的系统盘下载地址在“知道页面”右上角的…………si xin zhong…………有!望采纳!


windows服务器崩溃80端口被占用 具体请访问:>

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/10731034.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存