CPU 相关监控指标

参考链接: li  sc

 CPU相关监控指标

Utilizabtion:

    CPU 使用率

Load Average:

    Load Average是 CPU的 Load,它所包含的信息不是 CPU的使用率状况,而是在一段时间内 CPU正在处理以及等待 CPU处理的进程数之和的统计信息,也就是 CPU使用队列的长度的统计信息。

Context Switch: 

    就是Process(Thread)的切换,如果切换过多,会让CPU忙于切换,也会导致影响吞吐量。Context Switch大体上由两个部分组成:中断和进程(包括线程)切换,一次中断(Interrupt)会引起一次切换,进程(线程)的创建、激活之类的也会引起一次切换。CS的值也和TPS(Transaction Per Second)相关的,假设每次调用会引起N次CS,那么就可以得出
Context Switch Rate = Interrupt Rate + TPS* N
    CSR减掉IR,就是进程/线程的切换,假如主进程收到请求交给线程处理,线程处理完毕归还给主进程,这里就是2次切换。也可以用CSR、IR、TPS的值代入公式中,得出每次事物导致的切换数。因此,要降低CSR,就必须在每个TPS引起的切换上下功夫,只有N这个值降下去,CSR就能降低,理想情况下N=0,但是无论如何如果N >= 4,则要好好检查检查。另外网上说的CSR<5000,我认为标准不该如此单一。
# r Load Average
# in Interrupt
# cs Context Switch
 
[root@temp ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 844764 11688 50328 0 0 1390 78 324 508 4 11 59 26 0

Interrupt:

    Interrupt Rate包括内核由于进程的时间片中断。(在 Linux 2.6 中,系统时钟每 1 毫秒中断一次时钟频率,用 HZ 宏表示,定义为 1000,即每秒中断 1000 次。系统不一样,内核不一样配置100、250的都有。)
内核的时钟频率可以通过如下命令知道
[root@backup ~]# cat /boot/config-`uname -r` | grep '^CONFIG_HZ='
CONFIG_HZ=1000

每秒总的时钟中断数就是 = cpu个数 * 核数 * CONFIG_HZ
查看中断的类型以及次数 
[root@temp ~]# cat /proc/interrupts
CPU0
0: 164 IO-APIC-edge timer
1: 9 IO-APIC-edge i8042
8: 1 IO-APIC-edge rtc0

 

posted @ 2016-03-07 18:31  YaYaTang  阅读(1404)  评论(0编辑  收藏  举报