2

不确定这是否是这个问题的合适位置,但它似乎与线程和系统资源等有关。

为什么当我有 3 个不同的进程在运行时,我的任务管理器显示系统空闲进程正在使用 90% 以上的 CPU 功率!?!?

是因为 I/O 瓶颈吗?

例如,如果我进行 SVN 结账,清空回收站,同时浏览网页,为什么 System Idle 进程为 97%,而其他进程各在 1% 左右?他们似乎都没有真正走得很快。

4

4 回答 4

7

大多数进程正在等待磁盘或网络操作完成,或等待用户输入。

你可能认为你有一个快速的磁盘或网络连接,但与内存/cpu 相比,它就像走到最近的图书馆,在目录中查找一本书并在书架上找到它,而不是已经在你手中。

这就是为什么您要为高性能服务器上的 10,000 和 15,000 rpm scsi 驱动器(或 SAN 甚至更多)支付数千美元或美元的原因。

于 2009-05-07T19:48:23.980 回答
2

我不能肯定地说。但我想说 I/O 瓶颈将是其中很大一部分。事实上,我不认为您描述的任何任务都会占用大量 CPU。

现在,尝试将原始 AVI 文件重新编码为 DIVX 格式,同时在 Maya 中渲染 3D 动画,您的 CPU 应该很忙。

于 2009-05-07T19:49:12.607 回答
1

这实际上取决于您的流程在做什么。如果他们是 IO 绑定的,那么他们很可能大部分时间都在等待。

如果它们是等待用户输入的 winforms 应用程序,那么它们就坐在那里,什么也不做,等待输入。

于 2009-05-07T19:47:17.510 回答
0

SVN 签出和回收站清空都是非常繁重的磁盘活动,对 CPU 的需求并不多,而且 Web 浏览在 CPU 使用率方面非常高(例如,在渲染页面时会出现高峰,但一旦完成,成本就会很低)。

如果你想看到你的 CPU 保持高利用率,做一些几乎完全基于 CPU/内存的事情,比如 Folding@Home。

于 2009-05-07T19:54:08.570 回答