CPU使用率(top的输出)总和怎么会超过100%呢?

2023-12-08

我正在编写一个小 python 脚本来测试一些东西。稍后我想用它通过 gnuplot 创建资源使用图,但首先进行一些测试。

脚本看起来像

import subprocess

result = subprocess.check_output("top -b -n 1 -c", shell=True).split("\n")

head = result[:5]
body = [x for x in result[7:] if x] #removes empty strings

for line in head:
    print line

csum = 0.0
for line in body:
    print line
    csum += float(line.split()[8])

print "CPU usage of all processes added up", csum, "%"

多次运行它几乎总是会导致显示的 CPU 使用率 > 100%。有时甚至 > 200%。怎么会这样?

它运行在具有两个核心的虚拟机(virtualbox,ubuntu 14.04 64 位)中。主机也有两个核心。

所有正在运行的进程的使用值总和不应该始终低于 100% 吗?我同时运行 htop,这显示每个核心的负载约为 50%....

问题可能是某些进程启动了其他进程,并且两者都显示在 top 的输出中,而父进程还显示了子进程的 cpu 使用情况? ==> 孩子被算了两次?


100% cpu 是 1 个 CPU/核心/线程的充分利用。如果您有 8 个 CPU,则最大值将为 800%。

如果有线程,情况会更复杂一些,因为线程不是真正的 CPU,但是在 Linux 上它被算作 CPU。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CPU使用率(top的输出)总和怎么会超过100%呢? 的相关文章

随机推荐

  • 重定向 Ascx 页面

    是否可以使用重定向 ascx 页面 Response Redirect 我的代码是 HttpContext Current Response Redirect postauthenticated employeereprintw2reque
  • 有什么好的 Winforms 向导库吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在寻找一个好的 Winforms 向导 库 所见即所得编辑器是首选 但不是必须的 你几乎必须扮演自己的角色 这并不难 我在 30 分钟内写了一篇
  • 在 React 构造函数中调用 super() 会做什么?

    学习Reactdocs并遇到了这个例子 class Square extends React Component constructor super this state value null 根据Mozilla super 允许您使用th
  • 从 IE 下载“签名已损坏或无效”

    我获得了 Certum 证书来签署我的 C 应用程序 一切似乎都正常 我可以执行该应用程序 并且还可以看到其上的有效证书 但是 如果我将其上传到我的网页 使用 Visual Studio 发布或同时上传 EXE 我无法在 Windows7
  • 如何恢复多个 Git 提交?

    我有一个 Git 存储库 如下所示 A lt B lt C lt D lt HEAD 我希望分支的头指向 A 即我希望 B C D 和 HEAD 消失 并且我希望 head 与 A 同义 听起来我可以尝试重新设置基准 不适用 因为我已经在两
  • 通过 MultipartEntity 发送 Unicode 字符

    我有一种使用 MultipartEntity 内容类型将图像和文本作为 HttpPost 发送的方法 对于英文符号 一切都很好 但对于 unicode 符号 例如 Cyrliics 它仅发送 所以 我想知道如何正确设置 MultipartE
  • AVAssetReader 到 AudioQueueBuffer

    目前 我正在做一个小测试项目 看看是否可以从 AVAssetReader 获取样本 以便在 iOS 上使用 AudioQueue 进行播放 我读过这个 使用 AudioQueue 播放原始未压缩声音 没有声音 和这个 如何使用 AVAsse
  • NodeJS:在迭代之间等待的异步循环

    我试图在将对象数组 objects 保存到数据库 使用 mongoose 的 mongoDB 之前进行一些检查 这些对象已经按日期排序 因此objects 0 date 低于objects 1 date 每个对象应检查最后一个相关保存的对象
  • 方法名称应为 c#

    我有一个事件处理程序 我想将一些参数传递给事件 像这样 该行触发错误 需要方法名称 p Click new System EventHandler P Click sender new MyEventArgs design reader1
  • 使用链式方法和参数模拟调用

    我正在学习如何使用模拟来运行一些单元测试 但我不知道如何模拟我的数据库类 它由单独的方法组成 这些方法可以像这两个示例一样链接起来 db gt select someTblName fieldName gt where fieldName
  • 在 NativeScript 中检测应用程序不活动/空闲超时

    我需要检测用户在 NativeScript 应用程序中的不活动时间 我尝试了一些插件 例如 ng idle 但它们与 NativeScript 不兼容 我还尝试发出应用程序级别事件 在页面路由器出口中 但它也不起作用 任何帮助将不胜感激 在
  • Kivy 属性错误 - 对象没有属性 - 尝试用 kv 语言连接小部件

    我在尝试连接 Kivy 中的小部件时似乎遇到了不间断的问题 我读了这个有用的指南但我的情况没有直接涵盖 I have 2 different choosers side by side like this 每个选择器都是它自己的类 由 Ke
  • MVVM 可编辑组合框绑定

    这是我的问题 我有一个服务器列表 每个服务器都有一个 ID 和 ServerName 我希望能够从 ComboBox 中选择一个服务器并就地编辑它 然后使其 ID 可供稍后通过 SQL 更新 假设这是数据 ID 1 Name Server1
  • (MathLink) 正确处理从属内核生成的消息

    当工作通过MathLink对于从属内核 我在正确解析时遇到问题TextPackets 特别是当这样的数据包对应于Message由从属内核生成我根本不明白如何正确处理它 我需要这样的Messages打印在评估笔记本中 就好像它们是由主内核生成
  • 强制 Emmet (VS Code) 内嵌所有缩写

    我经常使用以下方法将部分 HTML 文本包装在标签内Emmet in VS Code 命令是 Emmet Wrap with Abbreviation Windows 上为 Alt Shift W 是否可以强制 Emmet 将我的所有选择内
  • 何时使用右值引用

    所以基本上我的问题是 什么时候应该使用右值引用 在这个例子中 我正在研究一个记录器类 它只是将内容记录到控制台 我有不同的功能来记录不同日志级别的消息 它们接受 std string 作为参数 每个函数是否应该有两个版本 第一个用于 正常
  • PHP 属性作为对象

    是否可以将类的属性设置为对象 Like class User public x public y new ErrorVO public w new array 在构造函数中 是的 class User public x public y n
  • 为什么内联事件处理程序属性在现代语义 HTML 中是一个坏主意?

    内联事件处理程序被认为是一种不好的做法吗 例如
  • 如何使用 LISTAGG 返回带引号前缀的行

    我正在尝试返回对于在查询中设置 in 条件有用的行 这是我的查询 SELECT LISTAGG PRODUCTID WITHIN GROUP ORDER BY RowSequence FROM DWRE ITEM V 返回订单1 订单2 我
  • CPU使用率(top的输出)总和怎么会超过100%呢?

    我正在编写一个小 python 脚本来测试一些东西 稍后我想用它通过 gnuplot 创建资源使用图 但首先进行一些测试 脚本看起来像 import subprocess result subprocess check output top