• cpu相关参数的理解


    简介

      最近在线上跑的的业务,同事跟我说zabbix没有告警,当时机器上cpu 占用很高,idle已经很低了,但是cpu确实没有报警出来。然后我开始分析cpu的告警条件触发器等,做下这次的总结分析过程。

    首先我查看该机器上告警触发条件,触发器配置的是

    {base_template:system.cpu.util[,user].count(#3,85,"ge")}>1 
    

      该触发器表示用户空间占用的百分比三次监测超过85%进行告警。然后我通过机器上的top命令查看该值都是多少

    看了这图之后我发现跟我的认知有些不一样了,我之前的理解cpus 应该是各个进程占用的总和才对呢,实际上并不是这样。

    先看下这两条的基础含义:

    Cpu(s):表示用户空间占用CPU的百分比。

    %CPU:表示上次更新到现在的CPU时间占用百分比。

    在看下每个逻辑cpu核占用的百分比

       实际上Cpu(s) 表示所有用户进程占用整个cpu的平均值,因为每一个核心占用的百分比不同,所以来看平均值。

      %CPU显示的是进程占用一个核的百分比,而不是整个cpu(16核)的百分比,有时候可能大于100,那是因为该进程启用了多线程占用了多个核心,所以有时候我们看该值得时候会超过100%,但不会超过总核数*100。

      这样来看的话,监控的触发器确实就不会被触发了,为了能监控实际的数据进行告警,所以监控的策略触发器需要调整下,将之前的触发器上在添加一个或的条件进行触发

    {base_template:system.cpu.util[,idle].avg(1m)}<15
    

      就是判断空闲的百分比,当空闲小于15%即使用超过85%进行告警通知。

    ps:cpu压测触发小事例

    先用一个小一点的数字测试,观察图形之后再逐步加大

    echo "scale=500; 4*a(1)" | bc -l -q
    该命令是计算圆周率后面的500位

      

  • 相关阅读:
    MATLAB 高斯金字塔
    MATLAB 灰度图直方图均衡化
    MATLAB 生成高斯图像
    MATLAB 灰度、二值图像腐蚀膨胀
    MATLAB 中值滤波
    MATLAB 最大中值滤波
    MATLAB 最大均值滤波
    MATLAB 图像加噪,各种滤波
    MATLAB 图像傅里叶变换,幅度谱,相位谱
    十款最佳人工智能软件
  • 原文地址:https://www.cnblogs.com/Jabe/p/11882526.html
Copyright © 2020-2023  润新知