zoukankan      html  css  js  c++  java
  • 网络修复

    一次网络修复经历

    1        环境

     

    名称

    参数

    备注

    OperatingSystem

    Win7 64bit

     

    Protocol

    DHCP

     

    IP

    192.168.1.100

     

    Netmask

    255.255.255.0

     

    Gateway

    192.168.1.1

     

     

    2        起因

    cmd中输入了清空路由表的命令。

    01  C:\> route -f

    3        症状

    接下来就是见证悲催的时刻。

    许多软件的启动都突然变得非常慢,而且动辄就是应用程序没有响应。

    其中比较典型的软件有:

    Qt Creator 2.4.1

    CAJViewer 7.1

    QQ 2012

    Internet Explorer 9

    Maxthon 2

    软件在第一次打开时候呈现假死状态,以往一两秒现在需要长达半分钟才能够打开。而且经常出现无响应的状态。但是一旦打开后,使用一切正常。

    4        分析及试验

    因为大部分软件仍然保持较好的运行,只有部分软件。而且即使是浏览器,chrome依然保持着高效的运行。通过观察发现这些软件启动时候都要进行一个操作:联网。因此设置了以下实验。

    4.1           对照试验1

    断开网络连接,重新尝试启动这些软件。

    这些问题软件神奇般的速度恢复正常。看来问题的确出在网络连接上。

    开始在网络上搜解决方法,文献[2]给了一个解释,因此设置了对照试验2.

    4.2           对照试验2

    连入网络连接,但是不再使用DHCP自动分配的IP地址,而是手动为计算机分配IP地址和DNS

    重新尝试启动这些软件,启动速度也是正常(Qt Creator除外,后面再讲)。

    4.3           结论

    看来的确如文献[2]所说,网卡是默认设置为自动获取IP地址,所以在系统每次启动的时候会自动寻址,这个过程要几十秒,当寻址不到的时候,系统才会自动分配一个IP地址。断掉网线连接不通,自然不会寻址。

    但是这个解释也有一个不通的地方,就是在我清空路由表之前这些软件也是正常的。那么应该是存在两种可能:

    1.      清空路由表的同时,系统自动的对于某些设置进行了更改。

    2.      某些设置依赖于路由表,路由表被清除后,虽然得到了回复,但是这些设置未能自动进行更改。

    5        解决

    5.1           初级解决方案

    初级方案主要是采用文献[2]的方式,使用固定IP地址。

    但这一方案有一个弊端,就是以后换了环境,都要自己手动设置IP,较为麻烦。

    5.2           高级解决方案

    因为是网络问题,而且可以判断应该是某些网络设置受损,修复网络设置即可。

    使用360修复网络,未产生明显效果。因此采用了文献[1]中的Complete InternetRepair更加完善的网络设置。使用后,在DHCP自动分配IP的前提下,软件启动速度恢复正常。

    5.3           Qt Creator解决方案

    Qt Creator的启动慢很重要一个原因是启动时联网更新很多欢迎信息。因此通过禁用welcome插件,即可提高QtCreator的软件启动速度,详见文献[3]

    6        参考资料

    [1]    Complete Internet Repair 快速修复 Windows 网络设置http://www.appinn.com/complete-internet-repair/

    [2]    联网后 几个文件夹打开速度慢断网后又恢复正常??http://zhidao.baidu.com/question/62281226.html

    [3]    新版的QtCreator(2.4.0)启动非常慢的解决方法http://kb.cnblogs.com/a/2323088/

     

     





    附件列表

    • 相关阅读:
      匈牙利算法
      Tabbed Activity = viewpager + fragment ?
      gdb调试多线程多进程
      gdb 调试,当发现程序退出,需要定位程序退出位置时。
      将Linux的信号量sem_t封装成事件对象
      Golang包管理工具govendor的使用&go mod
      go get命令详解
      GoLand生成可执行文件(Windows、Linux)
      Linux下线程pid和tid
      理解Linux的进程,线程,PID,LWP,TID,TGID
    • 原文地址:https://www.cnblogs.com/ToBeSmart/p/2603622.html
    Copyright © 2011-2022 走看看