为啥我的进程只消耗 5% 的处理器功率?

Posted

技术标签:

【中文标题】为啥我的进程只消耗 5% 的处理器功率?【英文标题】:Why do my processes only consume 5% of the processors power?为什么我的进程只消耗 5% 的处理器功率? 【发布时间】:2009-05-07 19:45:30 【问题描述】:

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

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

是因为 I/O 瓶颈吗?

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

【参考方案3】:

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

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

【讨论】:

【参考方案4】:

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

如果您想看到您的 CPU 保持高利用率,请执行几乎完全基于 CPU/内存的操作,例如 Folding@Home。

【讨论】:

以上是关于为啥我的进程只消耗 5% 的处理器功率?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 Java 进程在 docker 容器与主机之间消耗两倍的内存

怎么计算一台中波发射机的实际消耗功率

Python - 多处理和共享内存

我的程序只使用了 25% 的 CPU 功率

为啥布尔值比字符消耗更多的内存?

为啥我导入 numpy 后多处理只使用一个核心?