理解linux平均负载

简介: 平均负载是指单位时间内,处于可运行状态和不可中断状 态的进程数。所以,它不仅包括了正在使用CPU的进程,还包括等待CPU 和等待 I/O的进程,而CPU使用率,是单位时间内 CPU 繁忙情况的统计,跟平均负载并不一定完全对应。

理解linux平均负载

简介

平均负载最理想的情况是等于 CPU 个数。查看CPU grep 'model name' /proc/cpuinfo | wc -l

综合查看平均负载的三个数值分析系统负载趋势的数据,可以能更全面、更立体地理解目前的负载状况。

假设我们在一个单 CPU 系统上看到平均负载为 1.73,0.60,7.98,那么说 明在过去 1 分钟内,系统有 73% 的超载,而在 15 分钟内,有 698 % 的超载,从整体趋势来 看,系统的负载在降低。

当平均负载高于 CPU 数量 70% 的时候,你就应该分析排查负载高的问题了。一旦 负载过高,就可能导致进程响应变慢,进而影响服务的正常功能。

平均负载是指单位时间内,处于可运行状态和不可中断状 态的进程数。所以,它不仅包括了正在使用CPU的进程,还包括等待CPU等待 I/O的进程,而CPU使用率,是单位时间内 CPU 繁忙情况的统计,跟平均负载并不一定完全对应。例如:

  • CPU 密集型进程,使用大量 CPU 会导致平均负载升高,此时这两者是一致的。
  • I/O 密集型进程,等待 I/O 也会导致平均负载升高,但 CPU 使用率不一定很高。
  • 大量等待 CPU 的进程调度也会导致平均负载升高,此时的 CPU 使用率也会比较高。

分析工具

使用iostat、mpstat、pidstat 等工具,找出平均 负载升高的根源。

1. CPU密集型进程

$ uptime

# -P ALL 表示监控所有 CPU,后面数字 5 表示间隔 5 秒后输出一组数据
$ mpstat -P ALL 5

# 间隔 5 秒后输出一组数据
$ pidstat -u 5 1

平均负载的升高是由于 CPU使用率 的升高

2. I/O 密集型进程

# 显示所有 CPU 的指标,并在间隔 5 秒输出一组数据
$ mpstat -P ALL 5 1

# 间隔 5 秒后输出一组数据,-u 表示 CPU 指标
$ pidstat -u 5 1

平均负载的升高是由于 iowait 的升高

3. 大量进程的场景

当系统中运行进程超出 CPU 运行能力时,就会出现等待 CPU 的进程。

$ uptime

# 间隔 5 秒后输出一组数据,-u 表示 CPU 指标
$ pidstat -u 5 1

多进程在争抢有限CPU,每个进程等待CPU的时间(也就是代码块中的 %wait 列)高。这些超出CPU计算能力的进程,最终导致 CPU 过载。

更多

# 查看高IO进程
$ ps -e -L h o state,cmd  | awk '{if($1=="R"||$1=="D"){print $0}}' | sort | uniq -c | sort -k 1nr
相关文章
|
7月前
|
Linux Shell
linux中uptime命令查看linux系统负载
linux中uptime命令查看linux系统负载
143 0
|
7月前
|
运维 Linux
Linux系统调优详解(二)——CPU负载查看相关命令
Linux系统调优详解(二)——CPU负载查看相关命令
164 10
|
7月前
|
Shell Linux C语言
【Shell 命令集合 系统管理 】Linux 显示系统的平均负载情况 tload命令 使用指南
【Shell 命令集合 系统管理 】Linux 显示系统的平均负载情况 tload命令 使用指南
133 1
|
4月前
|
存储 监控 Linux
在Linux中,可以使用哪个命令查看系统的历史负载?
在Linux中,可以使用哪个命令查看系统的历史负载?
|
1月前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
60 3
WK
|
4月前
|
监控 Ubuntu Linux
Linux系统平均负载如何查看?
在Linux系统中,有多种命令可用于查看平均负载,包括实时和历史数据。常用方法有:`uptime`命令显示系统运行时间和平均负载;`top`命令实时监控系统进程和资源使用;`w`命令展示用户信息及负载;通过`cat /proc/loadavg`查看特定文件中的负载信息;`sar`命令提供详尽的系统资源监控;而`htop`则以交互方式展示系统负载和资源使用情况。这些工具帮助用户全面了解系统性能状态。
WK
87 2
|
4月前
|
负载均衡 网络协议 Linux
在Linux中,常用WEB服务器负载架构有哪些?
在Linux中,常用WEB服务器负载架构有哪些?
|
4月前
|
存储 运维 监控
在Linux中,发现CPU负载过大,接下来怎么办?
在Linux中,发现CPU负载过大,接下来怎么办?
|
4月前
|
负载均衡 算法 Linux
在Linux中,LVS的负载调度算法是什么?
在Linux中,LVS的负载调度算法是什么?
|
7月前
|
监控 Linux 测试技术
性能分析之Linux系统平均负载案例分析
【4月更文挑战第20天】在上文性能基础之理解Linux系统平均负载和CPU使用率中,我们详细介绍了 Linux 系统平均负载的相关概念,本文我们来做几个案例分析,以达到加深理解。
100 2
性能分析之Linux系统平均负载案例分析