专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Linux性能优化--CPU平均负载

在系统变慢时,通过top或uptime命令可以看到系统运行情况。

$ uptime
02:34:03 up 2 days, 20:14,  1 user,  load average: 0.63, 0.83, 0.88

02:34:03              //当前时间
up 2 days, 20:14      //系统运行时间
1 user                //正在登录用户数
load average          //CPU的平均负载,3个值分别表示,1分钟,5分钟,15分钟内的平均负载

估计可以这样认为,假如有2个CPU,平均负载为1,就说明有一个CPU跑满了,还有一个CPU空闲。如果平均为2,说明两个CPU都跑满了,如果平均负载值大于了CPU的个数,说明发生了CPU的竞争。

如何查看CPU个数,使用下面的命令

$ grep 'model name' /proc/cpuinfo | wc -l
4

grep 'model name' /proc/cpuinfo  #是从/proc/cpuinfo文件中,获取model name的行,并显示出来
| #是管道,意思是将前面命令的结果作为下条命令的输入
wc -l #wc是一个统计程序,-l参数表明统计行数

在这里可以看到我的服务器是4核的CPU

如果load average的3个值逐渐增大,比如:2,1,0.8,说明1分钟,5分钟,15分钟的平均负载为2,1,0.8,说明CPU负载逐步升高。如果1分钟的负载值 小于 15分钟的负载值,说明CPU负载逐步减少。

我们可以使用iostat、mpstat、pidstat 三个命令来查找平均负载高的根源。


# -P ALL 表示监控所有CPU,后面数字5表示间隔5秒后输出一组数据,5后面可以再跟一个数字,表明打印次数 $ mpstat -P ALL 5 Linux 3.10.0-957.21.3.el7.x86_64 (Tbj3-omie-web1) 07/21/2020 _x86_64_ (4 CPU) 05:54:05 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 05:54:10 PM all 0.20 0.00 0.20 0.10 0.00 0.00 0.00 0.00 0.00 99.50 05:54:10 PM 0 0.40 0.00 0.20 0.60 0.00 0.00 0.00 0.00 0.00 98.80 05:54:10 PM 1 0.00 0.00 0.20 0.00 0.00 0.00 0.00 0.00 0.00 99.80 05:54:10 PM 2 0.20 0.00 0.20 0.00 0.00 0.00 0.00 0.00 0.00 99.60 05:54:10 PM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 CPU: all表示全部,0,1,2,3代表是4个CPU %usr:表示用户态 %sys:表示内核态 %iowait:表示io等待 %idle:表示空闲率

如果想知道是哪个进程引起的CPU负载高,可以使用pidstat命令

$ pidstat -u 5 1
Linux 3.10.0-957.21.3.el7.x86_64 (Tbj3-omie-web1)       07/21/2020      _x86_64_        (4 CPU)

05:58:12 PM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
05:58:18 PM     0         9    0.00    0.20    0.00    0.20     1  rcu_sched
05:58:18 PM     0      6370    0.80    0.00    0.00    0.80     1  barad_agent
05:58:18 PM     0     13113    0.00    0.20    0.00    0.20     1  pidstat
05:58:18 PM     0     14814    0.00    0.20    0.00    0.20     0  java
05:58:18 PM     0     17475    0.00    0.20    0.00    0.20     1  kworker/1:2
05:58:18 PM     0     18150    0.40    0.20    0.00    0.60     0  YDService

PID:表示进程id
%usr:表示用户态
%system:表示内核态
%CPU:表示CPU使用率
CPU:表示是第几个CPU在执行

文章永久链接:https://tech.souyunku.com/24631

未经允许不得转载:搜云库技术团队 » Linux性能优化--CPU平均负载

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们