zoukankan      html  css  js  c++  java
  • /proc/stat 详解

    在Linux系统中,可以用/proc/stat文件来计算cpu的利用率。这个文件包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累计到当前时刻。

    cat /proc/stat
    cpu 65376847 362756 2405159 10834971593 3765180 93399 2395097 0
    cpu0 7680302 5263 111909 1355640955 47680 0 185343 0
    cpu1 6527638 2261 327795 1356540189 249151 1 24242 0
    cpu2 6239465 47114 200809 1354709532 2153662 3610 317002 0
    cpu3 7009912 36126 257576 1356116663 162851 1068 87068 0
    cpu4 6028713 1692 197911 1356919175 300788 6821 216076 0
    cpu5 7110575 1479 124474 1356297947 92620 4248 39901 0
    cpu6 7206763 241427 247384 1355030525 691206 11642 242214 0
    cpu7 17573475 27390 937298 1343716603 67218 66006 1283248 0
    intr 2466653411 753885765 3 0 4 4 0 0 0 1 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 52 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 148466005 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1553671397 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10630155 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 0 0 0 0 0
    ctxt 2905526438
    btime 1260187150
    processes 4266007
    procs_running 5
    procs_blocked 0
    输出解释
    CPU 以及CPU0、CPU1、CPU2、CPU3、CPU4、CPU5、CPU6、每行的每个参数意思(以第一行为例)为:


    参数 解释
    user (65376847) 从系统启动开始累计到当前时刻,用户态的CPU时间(单位:jiffies) ,不包含 nice值为负进程。1jiffies=0.01秒
    nice (362756) 从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间(单位:jiffies)
    system (2405159) 从系统启动开始累计到当前时刻,核心时间(单位:jiffies)
    idle (10834971593) 从系统启动开始累计到当前时刻,除硬盘IO等待时间以外其它等待时间(单位:jiffies)
    iowait (3765180) 从系统启动开始累计到当前时刻,硬盘IO等待时间(单位:jiffies) ,
    irq (93399) 从系统启动开始累计到当前时刻,硬中断时间(单位:jiffies)
    softirq (2395097) 从系统启动开始累计到当前时刻,软中断时间(单位:jiffies)


    CPU时间=user+system+nice+idle+iowait+irq+softirq


    “intr”这行给出中断的信息,第一个为自系统启动以来,发生的所有的中断的次数;然后每个数对应一个特定的中断自系统启动以来所发生的次数。
    “ctxt”给出了自系统启动以来CPU发生的上下文交换的次数。
    “btime”给出了从系统启动到现在为止的时间,单位为秒。
    “processes (total_forks) 自系统启动以来所创建的任务的个数目。
    “procs_running”:当前运行队列的任务的数目。
    “procs_blocked”:当前被阻塞的任务的数目。
    那么CPU利用率可以使用以下两个方法。先取两个采样点,然后计算其差值:
    cpu usage=(idle2-idle1)/(cpu2-cpu1)*100
    cpu usage=[(user_2 +sys_2+nice_2) - (user_1 + sys_1+nice_1)]/(total_2 - total_1)*100


    from:http://blog.sina.com.cn/s/blog_691c5f870100mmqx.html

  • 相关阅读:
    The formatter threw an exception while trying to deserialize the message in WCF
    通过Web Deploy方式部署WCF
    The Managed Metadata Service or Connection is currently not available
    How to create Managed Metadata Column
    冒泡算法
    asp.net core 实战项目(一)——ef core的使用
    Vue学习笔记入门篇——安装及常用指令介绍
    Vue学习笔记入门篇——数据及DOM
    Vue学习笔记目录
    Chart.js在Laravel项目中的应用
  • 原文地址:https://www.cnblogs.com/hehehaha/p/6332362.html
Copyright © 2011-2022 走看看