为什么 svchost.exe 运行时间这么长

为什么 svchost.exe 运行时间这么长

继续这个问题,我问如何在 Windows XP 中记录我的启动过程。我想这样做的原因是每次启动时,我的计算机都会在第一次启动时挂起,我必须进行硬关机,然后它总是在下次启动时启动(基本上是每隔一次)。

因此,在使用 Sysinternal 的 ProcessMonitor 记录我的启动过程时,我查看了运行时间最长的任务。到目前为止,最大的任务是 svchost.exe。它的路径是 C:\WINDOWS\Tasks,持续时间为 303(我假设是秒)。实际的命令行路径是 C:\Windows\System32\svchost.exe -k netsvcs。

有人知道这是怎么回事吗?我很感激任何澄清或帮助解决这个问题,因为它已经让我抓狂了。

答案1

假设系统没有恶意软件,您是否更新了芯片组/网络驱动程序?

有报告称 nvidia 650i 芯片组驱动程序和 netsvcs cpu 占用过多,可能会导致启动缓慢。 http://forum.sysinternals.com/topic12039.html

答案2

嗯,是的,但是没什么帮助。进程管理器是一个处理正在运行的 dll 的通用进程。Netsvcs 是一组这样的图书馆这些通常与网络有关。其中至少有一个导致问题,但无法根据给出的信息确定是哪一个。

如果您可以使用错误的配置启动它,请尝试在命令提示符下输入:tasklist /svc /fi "imagename eq svchost.exe"它将为您提供与哪个 svchost.exe PID 关联的服务的列表,然后您可以检查任务管理器以查看哪个库导致了问题。完成后,找出哪个系统服务正在启动该进程,然后停止它,您就可以开始了。

答案3

这取决于该特定实例正在运行哪些服务SVCHOST.EXE

再次运行记录启动,这次查看耗时较长的 SVCHOST.EXE 实例的 PID。现在打开 ProcessExplorer(也可以从 Sysinternals 打开),然后双击SVCHOST.EXEProcExp 树中具有该 PID 的进程。

现在查看“服务”选项卡并检查该实例托管的服务。其中一个服务导致了延迟。

根据该实例托管的服务,您可以尝试记下它们及其正常的 START 设置,然后针对每个服务将其设置为手动/禁用,并将其他服务设置为正常的 START 设置。然后重新启动,看看是否仍然发生这种情况。

注意: 您应该首先仔细检查有问题的服务,因为根据阻止所托管的服务SVCHOST.EXE,将其设置为手动或禁用可能会阻止 Windows 加载。

相关内容