栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何从/ proc / pid / stat获取应用程序的总CPU使用率?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何从/ proc / pid / stat获取应用程序的总CPU使用率?

制备

要计算特定进程的CPU使用率,您需要执行以下操作:

  1. /proc/uptime
    • #1
      系统正常运行时间(秒)
  2. /proc/[PID]/stat
    • #14
      utime
      -用户代码中花费的CPU时间,以 时钟滴答数为单位
    • #15
      stime
      -花费在内核代码中的CPU时间,以 时钟周期为单位
    • #16
      cutime
      - 等待的儿童 花费在用户代码中 CPU时间(以 时钟滴答为单位
    • #17
      cstime
      - 等待儿童的 CPU时间花费在内核代码中(以 时钟滴答为单位
    • #22
      starttime
      -进程开始的时间,以 时钟滴答为单位
  3. 系统的赫兹(每秒的时钟滴答数)。
    • 在大多数情况下,
      getconf CLK_TCK
      可用于返回时钟滴答数。
    • sysconf(_SC_CLK_TCK)
      C函数调用也可以用来返回赫兹值。

计算方式

首先,我们确定该过程花费的总时间:

total_time = utime + stime

我们还必须决定是否要包括子进程中的时间。如果这样做,则将这些值添加到

total_time

total_time = total_time + cutime + cstime

接下来,我们获取自该过程开始以来经过的总时间(以 秒为单位)

seconds = uptime - (starttime / Hertz)

最后,我们计算CPU使用率百分比:

cpu_usage = 100 * ((total_time / Hertz) / seconds)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/403027.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号