我正在试图优化我们700个Windows XP工作站的启动过程,我们经常抱怨现场工作站的启动和login时间。
在这两部分来看 ,第一部分使用BootVis来监视和检查启动过程; 第二部分使用Process Monitor来监视login过程。 使用BootVis的“引导完成”方式作为衡量标准,我使用了一台已经使用了18个月的VMWare工作站虚拟机作为通用testing机器(因此是相当典型的现场机器)。 我使用快照在每次testing之前将虚拟机返回到初始状态。
从日志和报告,BootVis创build最明显的延迟是来自Sophos Anti-Virus的访问扫描器,然后在一段距离之前由mrxsmb。 我调整了机器的策略(确保我强制Sophos每次更新两次),并提出了以下数字:
以上倾向表明,扫描所有文件,读取是迄今为止最昂贵的操作(可能完全没有必要)。 我不能完全理解为什么禁用读写扫描实际上会减慢引导顺序,然而却小得多。 最后的三个结果几乎是一样的,这意味着我必须使用其他因素来影响我的决定,即select扫描可执行文件,读取或写入。
更新:
我在同一台虚拟机器上做了一些更多的testing(在不同的时间,所以不能直接和上面的结果进行比较:
平均值导致“On Read”和“On Write”的值进一步收敛,有趣的是,使用Sophos扫描可执行文件仅比未安装的Sophos增加了21%的性能开销。
那么在configuration按访问扫描来改善启动时间时,我应该做些什么?
我们目前正在研究SOPHOS速度问题,并且提出了以下build议,这些build议在我们的winxp sp3环境中做出了相当大的改变:
在“访问”部分中排除这些文件:
第二件事是在启动时closures检查更新。 这是有点冒险的,因为这是新病毒攻击的关键点,但是你可以定期30分钟检查更新,这意味着你永远不会超过半个小时。 要检查更新,请执行以下操作:
替代文字http://www.sophos.com/images/common/misc/27646.gif
实施这些更改后,从开机到桌面的速度都有了明显的提高。
我希望这有帮助。
基普
我没有使用Sophos,所以我不确定是否有类似的东西,但是在Symantec中有一个registry更改,可以禁用启动时的完整系统扫描。 如果没有这个,赛门铁克会在系统第一次启动时扫描所有的东西,在系统启动之后的第一个小时,可能会让系统变得非常慢。 在Sophos中可能有类似的设置。
当然,禁用这个可能会降低安全性。 有一个原因,他们有一个启动扫描。
我们在旧计算机上遇到与McAfee相同的问题。 这些机器无法访问互联网,所以我写了一个启动脚本,以便在几分钟内延迟服务的启动。
' Place script in C:\Documents and Settings\All Users\Start Menu\Programs\Startup ' The McShield and McTaskManager services must be set to Manual Wscript.sleep 12000 'Delay start for 2 minutes Set objWMIService = GetObject ("winmgmts:{impersonationLevel=impersonate, (Debug)}\\.\root\cimv2") StartService "McShield" StartService "McTaskManager" Function StartService (strService) Dim intStatus, colServices, objService Set colServices = objWMIService.ExecQuery ("Select * from Win32_Service Where Name = " & chr(39) & strService & chr(39)) For Each objService in colServices intStatus = objService.StartService Next End Function
这可能不适合您的情况,但解决scheme适合我们。