zoukankan      html  css  js  c++  java
  • CPU负载及利用率解析

    CPU負載:

    CPU平均负载(load average)是指某段时间内占用cpu时间的进程和等待cpu时间的进程数,这里等待cpu时间的进程是指等待被唤醒的进程,不包括处于wait状态进程。

    CPU负载是基于内核数来计算的,有一个说法,“有多少内核,即有多少负载”

    CPU负载小于等于0.7算是一种理想状态,0.7乘以内核数,得出服务器理想的CPU负载


    当系统负荷持续大于0.7,你必须开始调查了,问题出在哪里,防止情况恶化。
    当系统负荷持续大于1.0,你必须动手寻找解决办法,把这个值降下来。
    当系统负荷达到5.0,就表明你的系统有很严重的问题,长时间没有响应,或者接近死机了。


    如果只有1分钟的系统负荷大于1.0,其他两个时间段都小于1.0,这表明只是暂时现象,问题不大。
    如果15分钟内,平均系统负荷大于1.0(调整CPU核心数之后),表明问题持续存在,不是暂时现象。
    主要观察"15分钟系统负荷",将它作为服务器正常运行的指标。

    CPU使用率:

    CPU利用率是指CPU工作时间占总时间的比重,公式如下:

    Utilization= work_time/total_time           total_time=work_time+idle_ime.

    可见,总时间由一段连续时间内的CPU工作时间长度和CPU空闲时间长度组成。

    举个简单例子:
    在单处理器中,线程1,先工作10ms,线程2再工作30ms,之后CPU空闲60ms。则此100ms时间段内,CPU的利用率就是40%

    # 查看物理CPU个数
    cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

    # 查看每个物理CPU中core的个数(即核数)
    cat /proc/cpuinfo| grep "cpu cores"| uniq

    # 查看逻辑CPU的个数
    cat /proc/cpuinfo| grep "processor"| wc -l

    # 总核数 = 物理CPU个数 X 每颗物理CPU的核数

    grep -c 'model name' /proc/cpuinfo(直接返回CPU總核心數)

    # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

    查看CPU信息(型号)
    cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

    查看内 存信息
    # cat /proc/meminfo

    查看线程数

    grep 'processor' /proc/cpuinfo | sort -u | wc

  • 相关阅读:
    【Linux】freetds安装配置连接MSSQL
    【MySQL】Sysbench性能测试
    【MySQL】mysql buffer pool结构分析
    【MySQL】MySQL锁和隔离级别浅析一
    Spring Boot 1.4测试的改进
    Spring Boot 定时任务的使用
    linux:nohup 不生成 nohup.out的方法
    Spring Boot应用的后台运行配置
    深入理解Session与Cookie(一)
    学习Maven之Cobertura Maven Plugin
  • 原文地址:https://www.cnblogs.com/shiqing-zhang/p/14173224.html
Copyright © 2011-2022 走看看