热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux的top命令平均负载

每次发现系统变慢时,我们通常做的第一件事就是使用uptime或top命令查看系统的“平均负载”[rootrocketmq-n2~]#uptime11:33:53up

每次发现系统变慢时,我们通常做的第一件事就是使用 uptimetop命令查看系统的 “平均负载”

[root@rocketmq-n2 ~]# uptime11:33:53 up 2:18, 2 users, load average: 0.01, 0.04, 0.05

[root@rocketmq-n2 ~]# top
top - 11:34:25 up 2:19, 2 users, load average: 0.01, 0.03, 0.05
Tasks: 157 total, 1 running, 156 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.8 sy, 0.0 ni, 99.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0
KiB Mem : 7992344 total, 2596676 free, 4999988 used, 395680 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 2693324 avail Mem

load average: 0.01, 0.04, 0.05 显示系统 1、5、15分钟的平均负载,即1、5、15分钟内平均活跃进程数为0.01个、0.04个, 0.05个


1、概念


(1)、平均负载

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


(2)、“可运行状态” 的进程

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

[root@rocketmq-n2 ~]# ps aPID TTY STAT TIME COMMAND755 tty1 Ss+ 0:00 /sbin/agetty --noclear tty1 linux1417 pts/0 Ss 0:00 -bashjps4449 pts/0 R+ 0:00 ps a

(3)、“不可中断状态”的进程

正处于内核态关键流程中的进程,并且这些流程是不可打断的。

比如最常见的是等待硬件设备的 I/O 响应的进程,也就是我们在 ps 命令中看到的 D 状态(Uninterruptible Sleep,也称为 Disk Sleep)的进程。

可运行状态的进程不仅包括了正在使用 CPU 的进程,还包括等待 CPU 和部分等待 I/O 的进程。


(4)、平均负载与CPU 使用率的关系:

单位时间内 CPU 繁忙情况的统计,跟平均负载并不完全对应。

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

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


2、动手实验


(1)、安装相关软件

yum install -y epel-release # 第一步
yum install -y stress # Linux 系统压力测试工具
yum install sysstat # Linux性能工具,用来监控和分析系统的性能

(2)、测试

sar -u 1 5
pidstat -u 5 1stress --cpu 1 --timeout 600 # 模拟CPU密集型进程,使用率100%
stress -i 1 --timeout 600 # 模拟I/O 密集型
stress -c 8 --timeout 600 # 模拟8个进程
mpstat -P ALL 5 1 # sysstat的命令,显示所有CPU的指标,每5秒输出一组数据
pidstat -u 5 1 # sysstat的命令,每5秒输出一组数据,-u 表示 CPU 指标

参考:Linux平均负载理解


推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • Linux设备驱动开发详解-Note(3)---驱动设计的硬件基础(1)
    驱动设计的硬件基础(1)成于坚持,败于止步处理器分类不做过多说明,处理器类型很多,大同小异存储器存储器可分为只读储存器(ROM)、闪存(Flash)、随机存取存储器(RAM)、光介质存储器和磁介质存储 ... [详细]
author-avatar
subingyi84
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有