2

最近有几次我注意到“某些东西”导致 Windows 系统进程处于 50% 以上,并且在重新启动 PC 之前它不会退出。到目前为止发生在 Win2k 和 Win XP 上。

这特别麻烦,因为它目前似乎是由 MSVC 2005/Incredibuild 触发的,并且重新启动构建服务器并不是一件好事。

同时,“系统空闲进程”进程占用了 CPU 的其余部分,而构建步骤本身似乎也很匮乏。IE。通常编译时间不到 5 分钟的模块目前需要 20 多分钟。

我会猜测可能是病毒检查器或乌龟 svn,但会拼命地喜欢其他一些建议。

编辑:
我一直在经历这种被触发的事情,而罪魁祸首可能不会持续。这并不是说其他​​一些正在进行的进程没有做一些“愚蠢”的事情,并且正在管理系统的主动锁定,同时看起来本身是空闲的。

系统(1 个核心的 100%)和系统空闲进程共享总 CPU 的 98-100%。有时 mt.exe、link.exe、buildservice 会看到 1-2%。我正在运行 VNC 来查看机器,所以它有时会查看。

编辑 2:前一天晚上离开时,构建过程似乎进展缓慢,但再等 13 个小时后,1 小时的构建过程还没有完成。系统仍在占用 1 个核心。

4

6 回答 6

4

我的理解是“系统”进程是在内核中花费的时间(所以执行磁盘 I/O、网络 I/O(你确实提到了 Incredibuild)等等)——我会检查磁盘碎片、病毒检查器并可能在您的 Incredibuild 集群中的其他机器上查看这些。

由于系统空闲进程以“低”优先级运行,因此它会“占用 CPU 时间”是一条红鲱鱼——如果有的话,它只是表明有可用的 CPU 时间。处理被卡在单个处理器上的事实表明该进程正在做一些不支持多核的事情,或者有人将它的线程亲和性设置为 1。

于 2009-01-08T09:33:39.407 回答
3

我注意到我使用的病毒检查软件可以从根本上减慢编译速度,但它不会超出构建结束。关闭高级和启发式检查可以改善这一点,以至于我不必完全禁用扫描仪。我已经改变了我的扫描策略,现在我使用预定的完整扫描而不是高级动态扫描,因为它会损害许多应用程序的性能。(注意我使用的是卡巴斯基的最新版本)。我还使用了一个自动备份工具(AJCBackup),在编译时也需要加以限制。

您可能还需要考虑在用于创建大量临时文件和目标文件的驱动器上禁用Windows 索引服务,因为在这种情况下它不会为它所获得的性能量提供太多价值。

编辑:是否检查过哪些进程实际上占用了 CPU 内核并将它们追溯到给定的应用程序?

于 2009-01-08T09:00:20.410 回答
0

RE: smacl,来自 Windows 搜索/索引服务 (WSearch) 的工作不会归因于系统进程的 CPU 时间,它应该来自 SearchIndexer.exe/SearchFilterHost.exe 服务 (Vista+)。

您将看到的来自 System 的大部分活动将来自惰性写入器和其他磁盘访问的磁盘活动。来自系统的 CPU 活动将是因为内核活动,例如驱动程序 ( ISR/DPC ) 和其他内核级过滤器(可能包括 AV 文件和进程过滤器)。

Process Explorer ( http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx ) 可以帮助查看跨进程的 CPU 使用情况,包括系统。您可以使用公共Microsoft 符号服务器此资源来帮助您入门。

如果您可以使用 Xperf ( http://msdn.microsoft.com/en-us/performance/cc825801.aspx ) 进行跟踪,我可以帮助您分析 CPU 时间在系统(内核)上下文中花费的位置。Xperf 在 XP 上不受官方支持,但您可以在 XP 上进行跟踪并在其他系统上对其进行分析

Xperf 和 Process Explorer 应该能够准确定位导致 CPU 使用率失控的模块。甚至可能不需要符号来诊断问题;简单地说,模块名称通常可以指向正在减慢系统速度的相关组件。例如,来自 ndis.sys 的高 CPU 使用率可能指向网络中断,或者来自 aavmker4.sys 等模块的活动可能指向 AV 软件(在本例中为 Avast!)。

和往常一样,检查您的系统是否有任何更新的驱动程序和 AV 软件。

于 2009-01-22T07:55:55.337 回答
0

我们在办公室遇到了 Kaspersky 和 ​​Incredibuild 的问题 - 编译,有时链接会挂起并且永远不会完成。
似乎只影响一些奇怪的机器,而且只有 Windows XP(Vista 似乎不受我所见的影响)。到目前为止,我发现的唯一解决方案是完全关闭卡巴斯基 - 所以如果你找到解决方案,请告诉我!

于 2009-01-22T03:05:06.170 回答
0

在我的办公室,Incredibuild 和 Spyware Doctor 的免疫功能之间的冲突导致了类似的问题。关闭免疫为我们解决了这个问题。

您使用什么防病毒/恶意软件?

于 2009-05-27T14:20:21.750 回答
0

在没有任何防病毒软件的干净 Windows 7 上使用 VS2003 中的 IncrediBuild 进行编译时,我遇到了同样的问题。它在 XP 和 Vista 的同一个盒子上运行良好。

于 2009-10-01T11:49:45.327 回答