是什么导致Windows Update无法使用所有可用资源?


1

当在任务管理器的“性能”选项卡和“资源监视器”打开的情况下观看Windows Update进行工作时,更新过程通常(即约99%的时间)不会使任何可用资源最大化。到目前为止。

观察到一些一般数字:

  • Windows 10 Fall Creators Update 1709总共花费了约1.5个小时- 全新安装不到5分钟,但这是另一个问题
  • cpu核心几乎大部分时间都处于空闲状态,而单个核心有时会最大化(即使这样做,它通常也不会以最大时钟速率运行)
  • ram的使用率一直在5%左右,没想到会最大化
  • 磁盘活动平均约为10%,几乎从未达到100%,所使用的磁盘带宽与规格相距甚远,约为10 MB / s
  • 如果使用网络连接,则连接将超时(时间短)

据我了解,应该始终存在限制其他资源的瓶颈。这些资源之一应始终处于100%的水平,以阻止进一步的进展。但是在Windows Update的情况下,标准方案快照如下所示:

  • 最繁忙的CPU核心(30%)
  • 压头5%
  • 磁盘10%的活动速度运行,组合读写带宽为10 MB / s
  • 网路0%

大多数时候,Windows Update根本没有瓶颈(可能是出于市场营销目的而设计)。或至少我看不到它。

这让我问计算机在做什么。这是否是为了不给系统增加过多的负载以防止过热或在任何时候允许并行使用/响应?是关于任务管理器或资源监视器的错误还是不足?有什么方法可以强制Windows Update使用所有可能的资源?

进程间锁定/并发问题是原因?

弗兰克·托马斯(Frank Thomas)的“陷阱和水管”类比让我想到了一个可能的原因:进程间锁定。由于通常有多个活动核心,因此它们可能正在互相等待。或者他们阻塞了任何其他线程或进程需求的资源。可能与否?下次将观察核心的编排。更好的方法是:在单核(虚拟)计算机中应用更新,并查看该理论是否成立。


我猜想资源监视器中的磁盘队列长度约为0.2?
哈里

不,没有。它可能正在等待来自Microsoft服务器的数据。您可能会先下载完整版本并在本地运行,以加快更新速度,但是如果全部汇总完毕,您将不会节省很多时间。
harrymc '17

@Harry下次将观看该值。简而言之是什么意思?
pong

1
@FrankThomas我不确定我们是否在谈论同一件事:)明确地说,我不希望所有资源同时被用尽,而是一次可用。关于您的说明性建筑类比并将其应用于Windows Update方案:有时单个资源用尽(核心又称水管),问题是为什么在使用自来水(aka Windows Update)时不会总是发生这种情况)完全开放?您的评论使我想到了我会接受的理由,但它将添加到问题中。
pong

1
最后一点,您的CPU在运行时始终以100%运行。它可以掩盖时钟的滴答声以降低最终的频率,但是当它运行时,从物理上来说,它的运行频率为100%。可能令人困惑的是时间分片。当Taskman显示30%时,其真正含义是它在有问题的第二秒中工作了1/3。由于IO请求,依赖IO的单线程任务永远不会使CPU时间最长。它需要多线程应用程序才能真正使内核饱和,并在加载数据时填补空白。
Frank Thomas
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.