首页 > 系统相关 >Linux 的 top 命令平均负载

Linux 的 top 命令平均负载

时间:2022-12-29 16:33:43浏览次数:41  
标签:负载 -- 0.0 top Linux 进程 平均 CPU


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

[root@rocketmq-n2 ~]# uptime
11: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 a
PID TTY STAT TIME COMMAND
755 tty1 Ss+ 0:00 /sbin/agetty --noclear tty1 linux
1417 pts/0 Ss 0:00 -bashjps
4449 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 1

stress --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平均负载理解​​


标签:负载,--,0.0,top,Linux,进程,平均,CPU
From: https://blog.51cto.com/u_14724733/5978352

相关文章

  • Linux常用操作
    1、linux环境变量​​参考:Linux下设置和查看环境变量​​(1)、在/etc/profile文件中添加变量,对所有用户生效(永久的)(2)、在用户目录下的.bash_profile文件中增加变量【对单一用......
  • Linux 输出日期时间
    年月日echo$(date+%F) //2020-12-30echo$(date+%Y/%m/%d) //2020/12/30;%Y:年|%m:月|%d:日时分echo$(date+%R) //10:00时分秒echo$(date+%T) ......
  • linux Makefile 如何将生成的 .o 文件放到指定文件夹
    一、Makefile文件为了方便分析,直接上文件,Makefile文件中的内容如下所示:##Makefile#编译的.o文件和.c文件在同一路径下#$(info"start...")#可执行文件名PROJE......
  • Arch Linux配置Java学习环境
    1.JDKJDK8:主流版本$sudopacman-Sjdk8-openjdkJDK11:将会是下一个主流版本$sudopacman-Sjdk11-openjdkJDK19:最新版$sudopacman-Sjdk19-openjdk......
  • Linux: root 密码破解步骤
    在以下界面进入root密码破解界面mount-orw,remount/sysrootchroot/sysrootecho123|passwd--stdinroottouch/.autorelabelexitexit......
  • Linux中的特殊符号含义及作用!
    我们在学习、使用Linux时,会遇到各种各样的符号,很难理解和记忆,但其实符号的作用很大,今天老男孩教育小编给大家详细说明一下:1、通配符?匹配单个字符*代表所......
  • Linux 常用监控指标总结
    1.Linux运维基础采集项做运维,不怕出问题,怕的是出了问题,抓不到现场,两眼摸黑。所以,依靠强大的监控系统,收集尽可能多的指标,意义重大。但哪些指标才是有意义的呢,本着从实践中来......
  • Mysql:mysqldumpslow 技巧:如何不截断 slow.log 文件,直接指定开始starttime时间、stopti
    mysqldumpslow的选择中,没有开始、结束时间的选项。截断slow日志文件最常规做法,不过很麻烦不是。怎么办才更优雅?  最最最佳做法:使用sed模式范围sed-n'/Time:2022......
  • Linux内存管理-slub算法
    Slub简介Linux内核内存管理用了两个算法:伙伴算法(以页为单位的大内存)和slub算法(以字节为单位的小内存),其中slub系统运行在伙伴系统之上。slub进行内存分组管理,分......
  • linux bpf 学习记录
    eBPF介绍BPF(BerkeleyPacketFilter)使普通用户拥有了让啮合执行用户代码并共享数据的能力。用户可以讲eBPF指令直接码传输给内核,然后通过socket写时间来触发内核执......