美文网首页
32节 2020-09-25 CPU使用率(一)上

32节 2020-09-25 CPU使用率(一)上

作者: testerPM | 来源:发表于2021-03-22 13:41 被阅读0次

    继我们31章节,我们继续来学习新的知识:CPU使用率。
    今天的内容,希望大家学习了之后,可以学会如何查看cpu使用率,以及怎么定位cpu使用率过高的问题。
    提问:常用什么指标来描述系统的cpu性能?
    cpu使用率最底层的数据都是从哪里获取的?

    cpu性能最直观的指标就是cpu使用率,而这些数据又是从/proc中获取的。下面来学习下.

    什么是cpu使用率

    CPU使用率是指运行程序占用的CPU资源。
    举例说明:
    比如A进程占用10ms,然后B进程占用30ms,然后空闲60ms,再又是A进程占10ms,B进程占30ms,空闲60ms;如果在一段时间内都是如此,那么这段时间内的占用率为40%。
    40%如何计算的呢?
    计算公式:cpu使用时间/cpu占用总时间=80/200*100=40%

    cpu占用时间底层数据哪里来

    cpu占用时间从/proc/stat文件系统中获取,如下:

    image.png
    image.png

    到这里你应该了解了 cat /proc/stat 输出项的含义,那么cpu使用率到底是怎么计算出来的呢?

    从面输出结果可以看到:第一行的每一列数据都是cpu0+cpu1+cpu2+cpu3相加的结果。
    如use%占用总cpu时间(104245)=cpu0+cpu1+cpu2+cpu3。
    所以:总的cpu时间totalCPUTime=第一行所有列的数据相加

    下面来看单个cpu的使用率计算。比如:以cpu0为例:

    cpu0使用率计算

    (1)查看cpu0数据: cat /proc/stat | grep cpu0

    [root@localhost ~]# cat  /proc/stat  |  grep  cpu0
    cpu0 1036 11 1776 249517 1498 426 216 0 0 0
    
    

    总时间1: CPU0TotalTime1=user+nice+system+idle+iowait+irq+softirq+(后面数据为0的三项)

                      CPU0TotalTime 这个时间是系统启动以来到当前时间的总时间
    

    占用时间1: CPU0UsedTime1=user+nice+system+idle+iowait+irq+softirq

    时间过去一段时间了,再来查看cpu0的数据。

    (2)查看cpu0数据: cat /proc/stat | grep cpu0

    
    [root@localhost ~]# cat  /proc/stat  |  grep  cpu0
    cpu0 1036 11 1776 249517 1498 426 216 0 0 0
    
    [root@localhost ~]# cat  /proc/stat  |  grep  cpu0
    cpu0 1052 11 1866 301982 1501 486 241 0 0 0
    [root@localhost ~]# ^C
    
    
    

    总时间2: CPU0TotalTime2=user+nice+system+idle+iowait+irq+softirq+(后面数据为0的三项)
    CPU0TotalTime 这个时间是系统启动以来到当前时间的总时间

    占用时间2: CPU0UsedTime2=user+nice+system+idle+iowait+irq+softirq

    得到CPU0在N秒内的单核利用率:
    (CPU0UsedTime2-CPU0UsedTime1)*100%/ (CPU0TotalTime2-CPU0TotalTime1)

    总结:cpu使用率=(1-空闲时间)/总cpu时间。这个不需要我们计算,我们只需要知道cpu使用率是怎么计算出来的即可。

    知道了cpu使用率计算,下面需要来学习一下如何查看cpu使用率?

    查看cpu使用率

    (1)


    image.png

    (2)


    image.png image.png

    如何规避网络瓶颈:1.需要在同一个局域网里,同一个网段(ip前三位相同)
    2.最好使用千兆交换机
    曾经使用百兆交换机做性能测试,每次一跑,带宽就跑满了,压力始终上不去。
    如何知道带宽跑满了-》ping服务器,查看有没有很大的延迟。

    image.png image.png

    接下来如何分析top输出的结果,请看33节。

    相关文章

      网友评论

          本文标题:32节 2020-09-25 CPU使用率(一)上

          本文链接:https://www.haomeiwen.com/subject/jylupktx.html