cpu负载判断
发布日期:2021-07-01 04:12:29 浏览次数:3 分类:技术文章

本文共 1137 字,大约阅读时间需要 3 分钟。

前言


关于cpu的负载到底是什么?怎样判断cpu的负载到底是高还是低呢?实际上网上有很多不错的文章,但是个人还是喜欢用自己的语言简洁的描述一下,下面介绍的就是对于cpu负载的判断方法。



什么是cpu的负载?



我们都知道cpu是服务器的核心处理器。它就像是一条单向的道路,而系统运行的程序或者说进程就像是奔跑在该道路上的交通工具。

想象一下,负载就代表着在某一时间段上正在奔跑和准备使用cpu公路的汽车的数量。

当那些汽车的数量有很多的时候就代表着cpu公路的压力大,负载高,结果就是会造成堵车,大量汽车挤满了公路,得等前面的车跑完了,后面的车才能上,并且移动速度缓慢,这就是系统卡顿。再严重就是公路被压坏了,谁都走不了,这就是死机。而正常情况,应该是那些车辆的数量不高于cpu公路可承担的值,这就是正常的运行。




如何判断当前系统cpu的负载的高低?



在这里插入图片描述

【1】首先,要查看系统的平均负载(load average)。它是某段时间内占用cpu时间的进程和等待cpu时间的进程数,这里等待cpu时间的进程是指等待被唤醒的进程,不包括处于wait状态进程,而后面三个值分别代表系统在1分钟、5分钟和15分钟的负载情况。



【2】由于我们要查看的当前系统cpu的负载的高低,那么就要考虑cpu的数量及性能问题。这时要遵循两个原则:“有多少核心即为有多少负荷"和"核心的核心”。

“有多少核心即为有多少负荷”:在多核处理中,你的系统均值不应该高于处理器核心的总数量。

“核心的核心”: 不论核心分布在哪几颗cpu中,只需要计算核心的总数量即可。例如:两颗四核的cpu: 2*4=8 ,代表八个cpu内核。

cpu个数 x 核心数 = 总核心数

查看CPU的总核心数grep -c 'model name' /proc/cpuinfo  更多命令,链接如下:https://blog.csdn.net/GX_1_11_real/article/details/81026999


【3】理论上每个核心的负荷不超过1.0,就代表系统在正常运行的范畴内。

即   平均负载 除以 总核心数 <= 1.0

但是,实际上当这个值处于在 0.70 左右,为了避免负载持续飙升,怕cpu扛不住,就要开始对问题原因进行调查了;当系统负载时间处于1.00或者以上的时候,那么就应该马上解决这个问题。

即   平均负载 除以 总核心数 <= 0.7

我们通常应该观察15分钟系统负载,然后再进行判断。因为如果1分钟的系统负荷大于1.0,而其他两个时间段都小于1.0,那么代表这只是暂时的;而观察15分钟内的系统负载仍大于1.0,则代表这个问题是持续的,需要进行解决。



备注:

sar查看cpu操作,请看下列链接:

转载地址:https://moxiao.blog.csdn.net/article/details/88552077 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:SQL 查询速度慢原因及优化方法(转载)
下一篇:mysql数据库管理规范(转载)

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月25日 20时15分22秒