`
wupuyuan
  • 浏览: 77478 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

proc-stat

 
阅读更多

       在Linux下,CPU利用率分为用户态,系统态和空闲态,分别表示CPU处于用户态执行的时间,系统内核执行的时间,和空闲系统进程执行的时间,三者之和就是CPU的总时间,当没有用户进程、系统进程等需要执行的时候,CPU就执行系统缺省的空闲进程。从平常的思维方式理解的话,CPU的利用率就是非空闲进程占用时间的比例,即CPU执行非空闲进程的时间 / CPU总的执行时间。

       比如:

  user nice system idle iowait irq softirq
cpu 79553 925 20963 998213 3096 0 96
cpu0 21392 115 5332 247984 798 0 55
cpu1 18727 503 5479 250038 729 0 19
cpu2 20963 141 5508 248286 876 0 12
cpu3 18469 163 4643 251904 691 0 9

        第一行是总和,如果CPU是多核(包括超线程)则会有cpu 0 ~ cpu n

 

user 从系统启动开始累计到当前时刻,用户态的CPU时间,不包含nice值为负进程。
nice 从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间
system 从系统启动开始累计到当前时刻,核心时间
idle 从系统启动开始累计到当前时刻,除IO等待时间以外其它等待时间
iowait 从系统启动开始累计到当前时刻,IO等待时间
irq 从系统启动开始累计到当前时刻,硬中断时间
Softirq 从系统启动开始累计到当前时刻,软中断时间

 

 

       CPU的即时利用率的计算公式:

       CPU在t1到t2时间段总的使用时间 = ( user2+ nice2+ system2+ idle2+ iowait2+ irq2+ softirq2) - ( user1+ nice1+ system1+ idle1+ iowait1+ irq1+ softirq1)

       CPU在t1到t2时间段空闲使用时间 = (idle2 - idle1)

       CPU在t1到t2时间段即时利用率 =  1 - CPU空闲使用时间 / CPU总的使用时间

 

 

分享到:
评论

相关推荐

    根据proc中的stat计算cpu利用率

    根据proc目录下的stat计算cpu的使用和内存使用情况

    proc文件系统简介

    6. **系统统计**:`/proc/stat`文件提供了系统整体的统计信息,包括CPU使用情况、磁盘I/O、进程统计等。 7. **系统调用和模块**:`/proc/kcore`表示整个内核的内存映射,而`/proc/kallsyms`包含了内核所有符号的...

    linux proc 详解

    通过对`/proc/loadavg`、`/proc/stat`、`/proc/pid/stat`等文件的解读,我们不仅可以监控系统负载、CPU使用情况,还能深入分析单个进程的状态和性能,这对于系统管理和优化至关重要。掌握这些知识点,能够帮助我们更...

    读取/proc/cpuinfo获取CPU信息demo

    在Linux操作系统中,`/proc/cpuinfo`是一个虚拟文件,它提供了系统CPU的详细信息。这个文件并不存储在硬盘上,而是由内核动态生成,每次读取时都会反映出当前系统的实时状态。通过读取`/proc/cpuinfo`,我们可以获取...

    linux proc 文件系统 编程手册

    - `/proc/stat`:系统整体的统计信息,如CPU使用、进程切换次数等。 - `/proc/diskstats`:硬盘I/O统计。 6. **文件系统信息**: - `/proc/mounts`:列出所有已挂载的文件系统及其相关信息。 - `/proc/file...

    proc 官网中文教程

    - **系统信息**:如`/proc/cpuinfo`提供CPU信息,`/proc/meminfo`显示内存使用情况,`/proc/stat`给出系统统计信息。 - **网络信息**:如`/proc/net/dev`列出网络设备的收发数据,`/proc/net/tcp`和`/proc/...

    cpu_linux.rar_cpu_linux.cpp_linux 读取文件_proc cpu

    本主题聚焦于如何利用C++语言在Linux环境下编程来读取`/proc/stat`文件,从而获取CPU的使用率。 首先,`/proc`是一个虚拟文件系统,它并不存储在硬盘上,而是由内核动态生成的。`/proc/stat`文件包含了系统运行时的...

    linux内核知识系列:Proc

    /proc/stat和/proc/vmstat提供了系统统计信息,可用于性能分析。 8. **调试工具** /proc/kcore文件表示内核的内存映像,可配合gdb进行内核调试;/proc/kmsg包含了内核日志信息,对于诊断问题非常有用。 Proc文件...

    PROC学习文档,该文档为chm格式,是学习proc的入门资料

    5. `/proc/stat`:显示系统总体统计信息,如CPU使用率、磁盘I/O等。 6. `/proc/vmstat`:虚拟内存统计信息,有助于分析系统内存使用和交换行为。 7. `/proc/[pid]/`:每个进程都有自己的目录,包含该进程的详细信息...

    ubuntu 利用proc 文件系统实现监听器

    同时,`/proc/stat`文件提供了关于CPU使用情况的数据,包括用户时间、系统时间、空闲时间等。通过对比不同时间点的`/proc/stat`文件内容,可以计算出CPU的利用率。这对于监控系统负载,防止过载情况的发生非常有用。...

    c++获取cpu使用率(包含系统和单进程)

    在Linux系统中,可以通过读取`/proc/stat`文件来获取系统CPU使用情况。这个文件包含了关于CPU的各种统计信息,例如用户态时间(user)、内核态时间(kernel)、空闲时间(idle)等。通过比较两次读取的这些值,我们可以...

    man proc(5) (中文翻译缩减版)

    12. /proc/[number]/status:该文件是/proc/[number]/stat 和/proc/[number]/statm 两文件的集合,更易阅读。 13. /proc/[number]/task:该目录下为对应进程的每个线程都生成了相应的子目录。 14. /proc/apm:该...

    linux /proc 文件 系统监控器 GTK

    3. **/proc/stat**:包含系统整体及各个CPU的统计信息,如运行时间、上下文切换次数等。 4. **/proc/loadavg**:显示系统平均负载,反映系统处理任务的能力。 5. **/proc/diskstats**:列出磁盘设备的I/O统计信息,...

    全面了解Linux下Proc文件系统.

    7. **`/proc/pid/stat`**: 包含进程状态的详细统计信息,如进程状态、优先级、时间片等。 8. **`/proc/pid/statm`**: 显示进程的内存使用情况,包括虚拟内存、物理内存和共享内存。 例如,要查看某个进程的内存使用...

    proc 文件系统,proc 文件系统

    Proc 文件系统是 Linux 系统中一个重要的伪文件系统,它提供了访问系统内核数据的接口,允许用户和应用程序访问系统信息,并可以改变内核的某些参数。 Proc 文件系统是一个只存在于内存中的文件系统,不占用外存...

    linux 操作系统 GTK /proc文件 系统监视器

    1. **CPU监控**:通过读取`/proc/stat`文件,可以计算出CPU的用户时间、系统时间、空闲时间和等待I/O完成的时间,从而得到CPU的总体使用率。 2. **内存监控**:通过解析`/proc/meminfo`,可以获取总内存、已用内存...

    android 获取cpu使用率, 内存 实时数据

    在Android中,获取CPU使用率通常需要读取 `/proc/stat` 文件,该文件包含了系统运行的各种统计信息。以下是一个简单的示例,展示如何计算CPU使用率: ```java public float getCpuUsage() { String[] cpuUsage = ...

    解析Android获取系统cpu信息,内存,版本,电量等信息的方法详解

    Android获取系统cpu信息,内存,版本,电量等信息 1、CPU频率,CPU信息:/proc/cpuinfo和/proc/stat 通过读取文件/proc/cpuinfo系统CPU的类型等多种信息。读取/proc/stat 所有CPU活动的信息来计算CPU使用率 下面我们...

    C语言下proc程序设计教程

    例如,`/proc/<pid>/stat`文件包含了进程的统计信息,可以从中提取出CPU使用率。而某些情况下,如修改系统定时器间隔,可能需要调用`sysctl`函数。 在学习`/proc`程序设计时,理解Linux内核如何通过`/proc`接口暴露...

Global site tag (gtag.js) - Google Analytics