为什么CPU负载的变化不会超过百分之几?

2024-02-07

我正在运行这个命令

grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage "%"}'

但它只输出 0.99xxxx% 之类的东西

如果我进行 apt-get 升级或任何过程,我想它会超过 1%。即使运行stress -c 1 也不会使它发生任何改变。

有没有办法准确记录CPU使用情况?服务器有 1 个 vCPU。

需要每 5 秒记录一次此日志。

while sleep 5; do "code" >> logfile; done

为什么CPU负载的变化不会超过百分之几?

Because /proc/stat返回自系统上次启动以来聚合的 CPU 负载统计信息,而不是实时的统计信息。如果您在重新启动后立即运行脚本,则只要 CPU 负载本身发生变化,报告的负载就可能会发生显着变化。然而,脚本运行的时间越长,负载变化对显示值的影响就越小,一段时间后,该值将基本上保持不变。

如果你想计算负载/proc/stat并且不使用已经可用的工具来执行此操作,您需要计算两个连续样本的差异,例如:

while sleep 5; do grep -w cpu /proc/stat ; done | \
    awk '{
        print (o2+o4-$2-$4)*100/(o2+o4+o5-$2-$4-$5) "%"
        o2=$2;o4=$4;o5=$5}'

否则,一个更简单但不太准确的方法可能是:

vmstat -n 5 | \
    awk '{used=$13+$14;total=used+$15
          if(total>0) print used*100/total "%"}'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么CPU负载的变化不会超过百分之几? 的相关文章

  • bash while 循环的布尔表达式中的 -lt 意味着什么?

    我猜测它代表小于基于输出 但是我在哪里可以找到有关此语法的文档 bin bash COUNTER 0 while COUNTER lt 10 do echo The counter is COUNTER let COUNTER COUNTE
  • Linux无法删除文件

    当我找到文件时 我在删除它们时遇到问题 任务 必须找到带有空格的文件并将其删除 我的尝试 rm find L root grep i 但我有错误 rm cannot remove root test No such file or dire
  • 将以反斜杠结尾的行与下一行 awk 连接起来(来自著名的 awk 单行解释)

    这个练习来自于Peteris Krumins 的博客文章解释了 AWK 的俏皮话 http www catonmat net blog awk one liners explained part two 本质上是这条线 awk sub ge
  • 获取最新远程提交的 SHA1 [重复]

    这个问题在这里已经有答案了 可能的重复 git bash 如何检查是否有新的提交可用 https stackoverflow com questions 6006759 git bash how to check if theres a n
  • 比较两个文件的单列

    我有两个文件 每个文件都有两列 并用空格分隔 我想找到两个文件中第 2 列不相同的行 并将它们输出到第三个文件 file A 1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2 BBBBBBBBBBBBBBBBBBBBBB
  • 如何从shell脚本自动登录MySQL?

    我有一个 MySQL 服务器 其中有一个用户和密码 我想在 shell 脚本中执行一些 SQL 查询而不指定密码 如下所示 config sh MYSQL ROOT root MYSQL PASS password mysql sh sou
  • 在 Bash 中替换垂直线

    我很难完成我的脚本 因为这一部分没有按照我想要的方式运行 我的脚本中有这一行 cat home tmp temp1 txt awk gsub RS gsub RS print gt home tmp temp txt 效果很好 是的 但是当
  • 如何安装 grunt-cli 而不出现错误?

    灵感来自 Chris Coyierpost http 24ways org 2013 grunt is not weird and hard 我决定尝试一下 grunt 但我在设置时遇到了很大的问题 首先 我安装了 Node js 然后我将
  • 检查 Git 中是否需要 pull

    如何检查远程存储库是否已更改并且需要拉取 现在我使用这个简单的脚本 git pull dry run grep q v Already up to date changed 1 但它比较重 有没有更好的办法 理想的解决方案是检查所有远程分支
  • 使用 python 脚本更改 shell 中的工作目录

    我想实现一个用户态命令 它将采用其参数之一 路径 并将目录更改为该目录 程序完成后 我希望 shell 位于该目录中 所以我想实施cd命令 但需要外部程序 可以在 python 脚本中完成还是我必须编写 bash 包装器 Example t
  • Bash:单行命令以与 grep 命令相反的状态退出?

    如何减少以下 bash 脚本 grep P STATUS Perfect recess txt exit 1 exit 0 看起来我应该能够用一个命令来完成它 但我这里总共有 3 个命令 我的程序应该 阅读课间休息 txt 如果它包含 ST
  • 如何在 *nix 中登录时运行脚本?

    我知道我曾经知道如何做到这一点 但是 如何在 unix 中登录时运行脚本 bash 可以 From 维基百科 Bash http en wikipedia org wiki Bash 28Unix shell 29 当 Bash 启动时 它
  • Bash 中的动态变量名称

    我对 bash 脚本感到困惑 我有以下代码 function grep search magic way to define magic variable 1 ls tail 1 echo magic variable 1 我希望能够创建一
  • 在 Bash 中监控 tomcat,直到它完成部署 war 或应用程序

    怎么可能Tomcat在 bash 脚本中进行监控以检测它是否完成了战争或应用程序的部署 应用场景 Tomcat 开始于systemd Tomcat 开始于catalina sh 使用 Tomcat 管理器 Tomcat从Eclipse启动
  • 正则表达式匹配bash变量

    我正在尝试修改 bash 脚本 当前脚本包含 print div class 1 div Where 1可能看起来像 Apprentice Historian Level 1 Historian Level 4 Master Histori
  • Bash 中单行 while 循环的语法

    我无法找到分号和 或大括号的正确组合 我想这样做 但作为命令行中的一句 while 1 do foo sleep 2 done while true do foo sleep 2 done 顺便说一句 如果您在命令提示符下将其输入为多行 如
  • 如何wget目录中最新的文件

    我想编写一个 bash 脚本来下载并安装最新的每日构建程序 RStudio 是否有可能使wget仅下载目录中最新的文件http www rstudio org download daily desktop http www rstudio
  • 何时用引号将 shell 变量括起来?

    我应该或不应该在 shell 脚本中用引号括住变量吗 例如 下列说法正确的是 xdg open URL eq 2 or xdg open URL eq 2 如果是这样 为什么 一般规则 如果它可以为空或包含空格 或实际上任何空格 或特殊字符
  • 使用.sh脚本设置环境变量

    如何编写 sh 脚本以在 Ubuntu 14 上全局设置环境变量 i e bin sh sets this in to master etc environment export DB HOST 123 我知道我可以运行这个脚本 它只会将其
  • 通知管道右侧左侧故障?

    我越来越喜欢在 shell 脚本中的函数之间使用类似于生成器的模式 像这样的事情 parse commands da cmd file process commands 然而 这种模式的基本问题是 如果 parse command 遇到错误

随机推荐

  • 最小纯应用解析器

    我试图找出如何基于一个简单的构建 纯应用解析器 parser http dev stephendiehl com fun 002 parsers html执行 解析器在其实现中不会使用 monad 我之前问过这个问题 但错误地回答了这个问题
  • activemq-all“5.15.3”不适用于 Spring 5

    我正在将 Spring 从 4 x x 更新到 Spring 5 0 3 该项目使用ActiveMQ版本5 15 3 当我尝试使用最新版本的 Spring 部署应用程序时 出现以下错误 Caused by java lang NoSuchM
  • 更改 Android Studio 中默认的快速文档/文档悬停大小

    一段时间以来 我在使用 Android Studio 时遇到了一个问题 我的快速文档悬停被最小化 如下所示 It would be much nicer if by default it was a larger size e g 有谁知道
  • C# 日期时间格式更改

    我想转换 datetime now 格式 日 月 年 时 分 秒 上午 下午 为美国时间格式 即 月 日 年 时 分 秒 上午 下午 此外 我希望转换后的格式为日期时间而不是字符串 因为它存储在数据库中 并且数据库中的字段采用日期时间格式
  • waitForSelector 找不到相关部分

    我使用以下代码与 Puppeteer 来检查相关部分是否已加载 但它总是返回加载错误 这可能是什么原因 缺少哪一部分我不明白 我正在使用下面的代码 async function getResults lnk const results co
  • aleagpu 引发的 TypeInitializationException

    我正在尝试使用 aleagpu 但出现 System TypeInitializationException 我尝试用谷歌搜索问题所在 但找不到任何解决方案 所以请帮忙 该程序是最简单的 class Klazz private const
  • 如何在nx服务之前执行nx构建?

    好奇执行的正确方法是什么nx build命令作为先决条件nx serve 例如 在我的workspace json 的示例中 foo root apps foo sourceRoot apps foo src projectType app
  • Facebook iOS 应用内浏览器中的音频标签

    我有一个带有音频标签的网页 它在移动 Safari 中运行良好 但是 当我从 iOS 上的 Facebook 应用程序打开链接时 它会在应用程序内浏览器中打开 此处 音频拒绝播放 如果显示控件但没有音频 它将表明它正在播放 视频似乎工作正常
  • nodeJS v19 放弃了对 --es-module-specifier-resolution=node 的支持,这使得运行转译的 TypeScript 变得更加困难 [重复]

    这个问题在这里已经有答案了 Typescript 被转换为 JavaScript 因此是一个模块routes ts被转换成routes js在目录中tsc说 如果另一个模块从模块导入名称 例如 路由器 我们会省略后缀 如下所示 import
  • 为什么“None is None is None”返回 True? [复制]

    这个问题在这里已经有答案了 今天 在一次采访中 CTO 问了我一个看起来很简单的问题 这个语句返回什么 None is None is None 我以为Python执行了第一个操作None is None并会返回True 之后就会比较Tru
  • iOS 11 中的 UIRefreshControl() 故障效果

    每次我拉动刷新 TableView 时 UIRefreshControl 都会出现故障 下面是我正在使用的代码 有任何想法吗 在应用程序委托中 UINavigationBar appearance isTranslucent false U
  • Swift flatMap 在与可选数组一起使用时给出意外的结果

    我们有一个 Person 对象数组 每个对象都有另一个 String 数组 这是可选的 我们想要我们社会中的汽车名称的综合列表 struct Person let name String let address String let age
  • 我可以关闭隐式 Python unicode 转换来查找混合字符串错误吗?

    在分析我们的代码时 我惊讶地发现数百万次调用C Python26 lib encodings utf 8 py 15 解码 我开始调试 发现我们的代码库中存在许多小错误 通常是将字符串与 unicode 进行比较 或者添加字符串和 unic
  • SlickGrid 2.0 无法更改奇数索引中的行背景颜色

    我正在尝试使用以下代码更改背景颜色 data getItemMetadata function index if index 5 return cssClasses Unverified 只要索引是偶数 它就可以完美工作 但对于奇数索引 它
  • 如何强制/允许用户下载多个文件? (客户端)

    输入是可变数量的 URL 远程 所有链接图像资源 希望允许用户允许批量下载所有这些 URL 由于我们讨论的是 1000 2000 个图像资源 要求用户为每个 URL 单击 另存为 是不可行的 我最初的尝试是将所有图像下载到一个 blob 中
  • 删除 SwiftUI 中后退按钮的文本

    简而言之 我想要do this https stackoverflow com questions 33025239 remove text from back button keeping the icon 但是使用 SwiftUI Ho
  • 增强子图和捆绑属性

    我正在使用捆绑属性和 adjacency list 并且想使用子图类 struct Vertex int index int seed struct Edge bool visted double weight typedef adjace
  • 从应用程序打开系统设置的特定部分

    我的应用程序有一个快捷方式 可以打开系统设置的存储部分 效果很好 但是如果设置应用程序已经在运行 并且最后离开了显示设置 则您不会被定向到存储设置 但按快捷键时显示设置 在尝试启动存储之前 有没有办法强制打开存储设置 或者关闭 如果未关闭
  • 在真实Apple Watch上调试:应用程序验证失败

    今天我尝试在真正的 Apple Watch 上调试我的 WatchKit 应用程序 在 Xcode 中点击 调试 按钮后 iPhone 主应用程序已正确安装 但 Apple Watch 只显示消息安装xxx失败 错误 应用程序验证失败 Wa
  • 为什么CPU负载的变化不会超过百分之几?

    我正在运行这个命令 grep cpu proc stat awk usage 2 4 100 2 4 5 END print usage 但它只输出 0 99xxxx 之类的东西 如果我进行 apt get 升级或任何过程 我想它会超过 1