许多进程(例如 git 和 node)在 Windows 10 上运行速度慢 10 倍,但在安全模式下运行速度很快

许多进程(例如 git 和 node)在 Windows 10 上运行速度慢 10 倍,但在安全模式下运行速度很快

一些命令行程序在 PC 上似乎有点慢。我该如何排除故障?例如,在这台 PC 上,运行它需要半秒以上的时间git status

PS> for (;;) { Measure-Command { git status } | findstr TotalSeconds  }
TotalSeconds      : 0.7119173
TotalSeconds      : 0.6040415
TotalSeconds      : 0.6117674
TotalSeconds      : 0.5779911
TotalSeconds      : 0.6069439
...

(在另一台电脑上,上述命令运行时间为 0.05 秒。)我注意到其他几个命令也运行的时间有点长:

PS>  for (;;) { Measure-Command { node --version } | findstr TotalSeconds  }
TotalSeconds      : 0.4630501
TotalSeconds      : 0.3144418
TotalSeconds      : 0.2842615
TotalSeconds      : 0.2808537

(另一台 PC 在 0.02 秒内运行该程序。)

还有一个更好的措施:

PS> for (;;) { Measure-Command { npm --version } | findstr TotalSeconds  }
TotalSeconds      : 3.4839123
TotalSeconds      : 3.1501913
TotalSeconds      : 2.9817682
TotalSeconds      : 3.0423125

当这些程序运行时,我发现 CPU 使用率突然上升,好像占用了 CPU 四个核心的 1/4。CPU 使用率仅在我调用的进程(即 Git.exe 或 Node.exe)中升高,在任何其他进程中均不升高。

在此处输入图片描述

我尝试禁用尽可能多的 Windows 服务,直到我的 PC 几乎无法执行任何操作,但我仍然得到与上述类似的时间。我已确保禁用防病毒软件、防火墙和 BeyondTrust,但问题仍然存在。我没有 ATI 显卡(仅限 Intel HD 520)。

无论我从 Powershell、cmd.exe 还是 bash 调用,时间都是相同的。

在安全模式下问题消失。

正常启动后,我尝试停止所有非必要的进程;但速度仍然缓慢。我尝试禁用所有非必要的 Windows 服务;但速度仍然缓慢。我尝试在设备管理器中禁用所有非必要的硬件;但速度仍然缓慢。

有人能建议下一步的故障排除步骤吗?我担心这些问题的原因也会拖慢其他应用程序的速度。

答案1

最后,确实是 Symantec Endpoint Protection。禁用服务似乎无法阻止该问题,但以下操作可以。运行此操作以确认它解决了该问题。

"%ProgramFiles(x86)%\Symantec\Symantec Endpoint Protection\smc.exe" -stop

然而,这让我失去了 Symantec Endpoint Protection。

可能有一种方法可以使用赛门铁克将某些程序列入白名单,但我不确定它是什么。

编辑:我们随后发现,真正的延迟来自应用程序和设备控制,而不是大部分 SEP。可以在底部的“设置”>“客户端管理”>“常规”中禁用此功能。

(甚至更深层次的是,应用程序和设备控制中只有一部分似乎有一个实验性的功能,它会导致每个进程启动时出现延迟。我不确定它是什么。)

相关内容