一、CPU utilization
使用Zabbix查看CPU利用率,会有下面几个值:
CPU idle time:空闲的cpu时间比【简称id】
CPU user time:用户态使用的cpu时间比【简称us】
CPU system time:系统态使用的cpu时间比【简称sy】
CPU iowait time:cpu等待磁盘写入完成时间【简称wa】
CPU nice time:用做nice加权的进程分配的用户态cpu时间比【简称ni】
CPU interrupt time:硬中断消耗时间【简称hi】
CPU softirq time:硬中断消耗时间【简称si】
CPU steal time:虚拟机偷取时间【简称st】
其实这个数据就是在linux系统上使用top命令获取的:
二、CPU load
CPU load提供了1分钟,5分钟,15分钟的单核CPU负载情况。
我们会发现,Zabbix提供的数据跟top命令输出的load avearge相差很大,这是因为top统计的是所有核数总的情况。
cpu load(Zabbix) * 核数 = load average(top)
---------------------
zabbix cpu 模板介绍
"1 min average per core " 是每个core 的平均值,不是CPU 的平均值。 一个cpu可以有多个 core.
"1 min average per core " 是每个core 的平均值,不是CPU 的平均值。 一个cpu可以有多个 core.
grep proc /proc/cpuinfo发现为24core,找template 里的Item ,找到这个template "Template OS Linux", 点击item后,你会看到这个: Processor load (1 min average per core)
key相关:
是每个core 的平均值(zabbix定义的load值):system.cpu.load[percpu,avg1]
CPU 的平均值(TOP里面值load值):system.cpu.load[all,avg1]
也就是说zabbix自带的os模板带 的cpu load值计算方式:uptime的load值/cpu核数
如果要更改,就需要默认自带Key值更改为:system.cpu.load[all,avg1]