没有合适的资源?快使用搜索试试~ 我知道了~
LINUX CPU利用率算法android.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 64 浏览量
2022-10-25
19:06:54
上传
评论
收藏 299KB PDF 举报
温馨提示
试读
11页
LINUX CPU利用率算法android.pdfLINUX CPU利用率算法android.pdf
资源推荐
资源详情
资源评论
Linux 平台 Cpu 使用率的计算
proc 文件系统
/proc 文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它
以文件系统的方式为内核与进程提供通信的接口。用户和应用程序可以通过
/proc 得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,
是动态改变的,所以用户或应用程序读取/proc 目录中的文件时,proc 文件系统
是动态从系统内核读出所需信息并提交的。
/proc 目录中有一些以数字命名的目录,它们是进程目录。系统中当前运行的每
一个进程在/proc 下都对应一个以进程号为目录名的目录/proc/pid,它们是读
取进程信息的接口。此外,在 Linux 2.6.0-test6 以上的版本中/proc/pid 目录
中有一个 task 目录,/proc/pid/task 目录中也有一些以该进程所拥有的线程的
线程号命名的目录/proc/pid/task/tid,它们是读取线程信息的接口。
/proc/cpuinfo 文件
该文件中存放了有关 cpu 的相关信息(型号,缓存大小等)。
[zhengangen@buick ~]$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 3.00GHz
stepping : 10
cpu MHz : 3001.177
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm pni monitor
ds_cpl cid xtpr
bogomips : 6004.52
说明:以下只解释对我们计算 Cpu 使用率有用的相关参数。
参数 解释
processor (0) cpu 的一个物理标识
结论 1:可以通过该文件根据 processor 出现的次数统计 cpu 的逻辑个数(包括
多核、超线程)。
/proc/stat 文件
该文件包含了所有 CPU 活动的信息,该文件中的所有值都是从系统启
动开始累计到当前时刻。不同内核版本中该文件的格式可能不大一致,以下通过
实例来说明数据该文件中各字段的含义。
实例数据:2.6.24-24 版本上的
fjzag@fjzag-desktop:~$ cat /proc/stat
cpu 38082 627 27594 893908 12256 581 895 0 0
cpu0 22880 472 16855 430287 10617 576 661 0 0
cpu1 15202 154 10739 463620 1639 4 234 0 0
intr 120053 222 2686 0 1 1 0 5 0 3 0 0 0 47302 0 0 34194 29775 0 5019 845
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 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 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 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
ctxt 1434984
btime 1252028243
processes 8113
procs_running 1
procs_blocked 0
第一行的数值表示的是 CPU 总的使用情况,所以我们只要用第一行的数字计算就
可以了。下表解析第一行各数值的含义:
参数 解析(单位:jiffies)
(jiffies 是内核中的一个全局变量,用来记录自系统启动一来产生的节拍数,
在 linux 中,一个节拍大致可理解为操作系统进程调度的最小时间片,不同 linux
内核可能值有不同,通常在 1ms 到 10ms 之间)
user (38082) 从系统启动开始累计到当前时刻,处于用户态的运行时间,不
包含 nice 值为负进程。
nice (627) 从系统启动开始累计到当前时刻,nice 值为负的进程所占用
的 CPU 时间
system (27594) 从系统启动开始累计到当前时刻,处于核心态的运行时间
idle (893908) 从系统启动开始累计到当前时刻,除 IO 等待时间以外的其它
等待时间 iowait (12256) 从系统启动开始累计到当前时刻,IO 等待时间(since
2.5.41)
irq (581) 从系统启动开始累计到当前时刻,硬中断时间(since
2.6.0-test4)
softirq (895) 从系统启动开始累计到当前时刻,软中断时间(since
2.6.0-test4)stealstolen(0) which is the time spent in
other operating systems when running in a virtualized environment(since
2.6.11)
guest(0) which is the time spent running
a virtual CPU for guest operating systems under the control of the
Linux kernel(since 2.6.24)
结论 2:总的 cpu 时间 totalCpuTime = user + nice + system + idle + iowait
+ irq + softirq + stealstolen + guest
/proc/<pid>/stat 文件
该文件包含了某一进程所有的活动的信息,该文件中的所有值都是从系统启动开
始累计
到当前时刻。以下通过实例数据来说明该文件中各字段的含义。
[zhengangen@buick ~]# cat /proc/6873/stat
6873 (a.out) R 6723 6873 6723 34819 6873 8388608 77 0 0 0 41958 31 0 0
25 0 3 0 5882654 1409024 56 4294967295 134512640 134513720 3215579040 0
2097798 0 0 0 0 0 0 0 17 0 0 0
说明:以下只解释对我们计算 Cpu 使用率有用相关参数
参
数 解
释
pid=6873 进程号
utime=1587 该任务在用户态运行的时间,单位为
jiffies
stime=41958 该任务在核心态运行的时间,单位为
jiffies
cutime=0 所有已死线程在用户态运行的时间,单
位为 jiffies
cstime=0 所有已死在核心态运行的时间,单位为
jiffies
结论 3:进程的总 Cpu 时间 processCpuTime = utime + stime + cutime + cstime,
该值包括其所有线程的 cpu 时间。
/proc/<pid>/task/<tid>/stat 文件
该文件包含了某一进程所有的活动的信息,该文件中的所有值都是从系统启动开
始累计到当前时刻。该文件的内容格式以及各字段的含义同/proc/<pid>/stat
文件。
注意,该文件中的 tid 字段表示的不再是进程号,而是 linux 中的轻
量级进程(lwp),即我们通常所说的线程。
剩余10页未读,继续阅读
资源评论
春哥111
- 粉丝: 1w+
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功