【linux】linux命令--uptime查看机器存活多久和平均负载 解读平均负载含义

摘要:
1、 uptime命令用于查看机器生存时间和平均负载。键入命令:uptime的结果与top命令的结果相同。当平均负载比CPU内核数高70%时,应分析并排除高负载问题。5、 平均负载≠CPU利用率平均负载是指每单位时间内处于可运行和不可中断状态的进程数。I/O密集型进程,等待I/O也会导致平均负载增加,但CPU利用率不一定高。平均负载提供了一种快速查看系统总体性能的方法,反映了总体负载情况。

一.uptime命令,查看机器存活时间和平均负载

键入命令:

uptime

【linux】linux命令--uptime查看机器存活多久和平均负载 解读平均负载含义第1张

 该结果和 top命令查看结果最上面一行的 是一样的显示。

 返回数据介绍:

#当前服务器时间:    19:56:44
#当前服务器运行时长  up 22 days,  8:54
#当前用户数          10 users
#当前的负载均衡      load average: 0.07, 0.11, 0.11,分别取最近1分钟,5分钟,15分钟的平均负载

二.查看平均负载和【正在运行进程数量/总进程数量】

键入命令:

cat /proc/loadavg

【linux】linux命令--uptime查看机器存活多久和平均负载 解读平均负载含义第2张

 返回的数据介绍:

前3个数字表示平均进程数量外,后面的1个分数,分母表示系统进程总数,分子表示正在运行的进程数;最后一个数字表示最近运行的进程ID

三.平均负载、可运行状态的进程、不可中断状态的进程

到这里,理解一个概念 【平均负载】/【平均进程数量】

1.平均负载

简单来说,平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和 CPU 使用率并没有直接关系。

2.可运行状态的进程

所谓可运行状态的进程,是指正在使用 CPU 或者正在等待 CPU 或者正在等待 CPU 的进程,也就是我们常用 ps 命令看到的,处于 R 状态(Running 或 Runnable)的进程。

3.不可中断状态的进程

不可中断状态的进程则是正处于内核态关键流程中的进程,并且这些流程是不可打断的,比如最常见的是等待硬件设备的 I/O 响应,也就是我们在 ps 命令中看到的 D 状态(Uninterruptible Sleep,也称为 Disk Sleep)的进程。

四.解读

参考地址:https://www.cnblogs.com/rexcheny/p/9382396.html

  

  一段时间内处于可运行状态和不可中断状态的进程平均数量。(可运行分为正在运行进程和正在等待CPU的进程,状态为R;不可中断则是它正在做某些工作不能被中断比如等待磁盘IO等,其状态为D),它是从另外一个角度体现CPU的使用状态。


    当平均负载高于 CPU 核心数量 70% 的时候,你就应该分析排查负载高的问题了。一旦负载过高,就可能导致进程响应变慢,进而影响服务的正常功能。但 70% 这个数字并不是绝对的,最推荐的方法,还是把系统的平均负载监控起来,然后根据更多的历史数据,判断负载的变化趋势。当发现负载有明显升高趋势时,比如说负载翻倍了,你再去做分析和调查。

  

  对于有多核心CPU的系统来说最大LOAD是最大的核心数量,你的LOAD不应该超过最大核心数量。2CPU、每个CPU有6个物理核心、算上超线程最终的逻辑CPU个数是24个。

  

五.平均负载 ≠ CPU使用率

  平均负载是指单位时间内,处于可运行状态和不可中断状态的进程数。所以,它不仅包括了正在使用 CPU 的进程,还包括等待 CPU 和等待 I/O 的进程。

  而 CPU 使用率,是单位时间内 CPU 繁忙情况的统计,跟平均负载并不一定完全对应。

比如:

  CPU 密集型进程,使用大量 CPU 会导致平均负载升高,此时这两者是一致的。

  I/O 密集型进程,等待 I/O 也会导致平均负载升高,但 CPU 使用率不一定很高。

  大量等待 CPU 的进程调度也会导致平均负载升高,此时的 CPU 使用率也会比较高。

平均负载提供了一个快速查看系统整体性能的手段,反映了整体的负载情况。但只看平均负载本身,我们并不能直接发现,到底是哪里出现了瓶颈。所以,在理解平均负载时,也要注意:

平均负载高有可能是 CPU 密集型进程导致的;

平均负载高并不一定代表 CPU 使用率高,还有可能是 I/O 更繁忙了;

六.平均负载过高的排查手段

  当发现负载高的时候,你可以使用 mpstat、pidstat 等工具,辅助分析负载的来源。

免责声明:文章转载自《【linux】linux命令--uptime查看机器存活多久和平均负载 解读平均负载含义》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇L131理解Linux系统负荷load average下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux下查看进程+杀死进程方法大全

常规篇: 首先,用ps查看进程,方法如下: $ ps -ef ……smx 1822 1 0 11:38 ? 00:00:49 gnome-terminalsmx 1823 1822 0 11:38 ? 00:00:00 gnome-pty-helpersmx 1824 1822 0 11:38 pts/0 00:00:02 bashsmx 1827 1 4...

CentOS 7 之几个新特性(转)

上篇我们讲到默认没有ifconfig是centos7的新特性,所以我特意上网搜索了一下其新特性,找到一篇文章,现转过来。 centos最小好化安装没有ifconfig命令 刚安装了centos7.0,最小化安装,发现没有ifconfig命令,虚拟机里面的网卡显示ens32,这是centos7.0的特点,要使用ifconfig命令,在/etc/sysconf...

《篡权的ss》linux命令五分钟系列之三十一

原文链接 本原创文章属于《Linux大棚》博客。 博客地址为http://roclinux.cn。 文章作者为roc。 === 上篇文章《和netstat说再见》中说到netstat已经被抛弃,取而代之的是ss命令。一些朋友在问“netstat为什么会被抛弃呢?ss又是什么命令呢?” 这篇文章,我们就来揭晓答案,重点说一说“篡权的ss”。 【作者粗心大意?...

3Python脚本在linux环境下头文件解释

#!/usr/bin/python到底是什么意思有这句的,加上执行权限后,可以直接用 ./ 执行,不然会出错,因为找不到 python 解释器。 #!/usr/bin/python 是告诉操作系统执行这个脚本的时候,调用 /usr/bin 下的 python 解释器。 #!/usr/bin/env python 这种用法是为了防止操作系统用户没有将 pyt...

Linux设备驱动程序 之 信号量和互斥体

概念 一个信号量本质是一个整数值,它和一堆函数联合使用,这一对函数通常称为P和V;希望进入临界区的进程将在相关信号量上调用P;如果信号量的值大于零,则该值会减少1,进程可以继续执行;相反,如果信号量的值为0或者更小,则进程必须等待知道其他人释放该信号量;对信号量的解锁通过调用V完成;该函数增加信号量的值,并在必要时唤醒等待的进程; 当信号量用于互斥时(即避...

Linux_搭建Samba服务(匿名访问)

【RHEL8】—SMBserver;【RHEL7】—SMBclient !!!测试环境我们首关闭防火墙和selinux(SMBserver和SMBclient都需要) [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# systemctl disable firewalld [r...