linux中负载值为多少正常_linux系统的负载详解

系统的平均负载

如何理解平均负载

​单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数。

平均负载多少合理

核心数

平均负载

含义

4

2

有50%的cpu是空闲状态,见图一

2

2

CPU刚好被完全占用,见图二

1

2

至少有一半的进程抢不到cpu资源,见图三

就像是有四条马路, 有两辆小车在上面跑,这个时候交通很畅通,不会堵车。

现在有两条马路,上面有两辆汽车,这个时候刚好合适。

现在有两条马路,四量汽车,马路已经跑满了,后面的就堵住了。

该关注哪个值

1、如果1min,5min,15min的数值相差不大,表示系统的负载很“稳定”

2、如果近1min的值小于近15min的值证明系统负载的,平均负载在逐渐降低,但是在前15min的负载过高原因需要知道。

3、如果近15min的值,远小于近1min的值,说明负载在升高,有可能是临时的也有可能会不停的升高。

平均负载案例分析

对CPU的测试

stress

[root@fpm_nginx ~]# yum -y install stress

# 模拟4个cpu核心全部占满的情况

终端1

[root@fpm_nginx ~]# stress --cpu 4 --timeout 600

终端2

[root@fpm_nginx ~]# watch -d uptime

10:16:06 up 3 min, 2 users, load average: 3.90, 1.68, 0.64

mpstat # 查看cpu的实时使用情况

[root@fpm_nginx ~]# yum install -y sysstat

[root@fpm_nginx ~]# mpstat -P ALL 5

# 每5s检查一次所有cpu,查看是用户还是系统导致的负载过高。

Linux 3.10.0-957.el7.x86_64 (fpm_nginx) 04/22/2020 _x86_64_(4 CPU)

10:22:48 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle

10:22:53 AM all 0.00 0.00 0.05 0.00 0.00 0.00 0.00 0.00 0.00 99.95

10:22:53 AM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00

10:22:53 AM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00

10:22:53 AM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00

10:22:53 AM 3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00

pidstat

[root@fpm_nginx ~]# pidstat -u 5 1

# 每5s输出一组数据,最后一组数据是平均值,查看是哪个程序导致的负载过高

Linux 3.10.0-957.el7.x86_64 (fpm_nginx) 04/22/2020 _x86_64_(4 CPU)

10:28:25 AM UID PID %usr %system %guest %CPU CPU Command

10:28:30 AM 0 5819 0.20 0.00 0.00 0.20 2 vmtoolsd

10:28:30 AM 0 6650 100.00 0.20 0.00 100.00 3 stress

10:28:30 AM 0 6651 100.00 0.20 0.00 100.00 2 stress

10:28:30 AM 0 6652 99.60 0.20 0.00 99.80 0 stress

10:28:30 AM 0 6653 100.00 0.00 0.00 100.00 1 stress

10:28:30 AM 0 6656 0.00 0.40 0.00 0.40 0 pidstat

Average: UID PID %usr %system %guest %CPU CPU Command

Average: 0 5819 0.20 0.00 0.00 0.20 - vmtoolsd

Average: 0 6650 100.00 0.20 0.00 100.00 - stress

Average: 0 6651 100.00 0.20 0.00 100.00 - stress

Average: 0 6652 99.60 0.20 0.00 99.80 - stress

Average: 0 6653 100.00 0.00 0.00 100.00 - stress

Average: 0 6656 0.00 0.40 0.00 0.40

对I/O的测试

600s之后退出

stress --io 1 --timeout 600

[root@fpm_nginx ~]# mpstat -P ALL 5

Linux 3.10.0-957.el7.x86_64 (fpm_nginx) 04/22/2020 _x86_64_(4 CPU)

10:42:05 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle

10:42:10 AM all 0.10 0.00 13.27 0.00 0.00 0.05 0.00 0.00 0.00 86.58

10:42:10 AM 0 0.00 0.00 8.56 0.00 0.00 0.00 0.00 0.00 0.00 91.44

10:42:10 AM 1 0.00 0.00 11.51 0.00 0.00 0.00 0.00 0.00 0.00 88.49

10:42:10 AM 2 0.21 0.00 12.63 0.00 0.00 0.00 0.00 0.00 0.00 87.16

10:42:10 AM 3 0.21 0.00 20.68 0.00 0.00 0.00 0.00 0.00 0.00 79.11

[root@fpm_nginx ~]# pidstat -u 3 4

Linux 3.10.0-957.el7.x86_64 (fpm_nginx) 04/22/2020 _x86_64_(4 CPU)

10:43:02 AM UID PID %usr %system %guest %CPU CPU Command

10:43:05 AM 0 13 0.00 0.33 0.00 0.33 1 migration/1

10:43:05 AM 0 6119 0.00 0.33 0.00 0.33 2 tuned

10:43:05 AM 0 6405 0.00 0.33 0.00 0.33 2 sshd

10:43:05 AM 0 6630 0.00 8.28 0.00 8.28 1 kworker/u256:0

10:43:05 AM 0 6673 0.00 37.09 0.00 37.09 2 stress

10:43:05 AM 0 6674 0.00 17.88 0.00 17.88 0 kworker/u256:2

10:43:05 AM 0 6675 0.00 0.33 0.00 0.33 0 kworker/0:1

10:43:05 AM 0 6804 0.00 0.33 0.00 0.33 1 pidstat

注:磁盘的大量io会导致,负载的异常升高,比cpu的核心还高,会导致内核态的占比升高。

大量进程

[root@fpm_nginx ~]# stress -c 4 --timeout 600

# %idle 表示的是内核态

[root@fpm_nginx ~]# mpstat -P ALL 5

Linux 3.10.0-957.el7.x86_64 (fpm_nginx) 04/22/2020 _x86_64_(4 CPU)

11:02:02 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle

11:02:07 AM all 99.72 0.00 0.11 0.00 0.00 0.17 0.00 0.00 0.00 0.00

11:02:07 AM 0 99.55 0.00 0.23 0.00 0.00 0.23 0.00 0.00 0.00 0.00

11:02:07 AM 1 99.78 0.00 0.00 0.00 0.00 0.22 0.00 0.00 0.00 0.00

11:02:07 AM 2 99.55 0.00 0.23 0.00 0.00 0.23 0.00 0.00 0.00 0.00

11:02:07 AM 3 100.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

[root@fpm_nginx ~]# pidstat -u 3 4

Linux 3.10.0-957.el7.x86_64 (fpm_nginx) 04/22/2020 _x86_64_(4 CPU)

11:02:25 AM UID PID %usr %system %guest %wait %CPU CPU Command

11:02:28 AM 0 5819 0.00 0.32 0.00 1.30 0.32 2 vmtoolsd

11:02:28 AM 0 6119 0.00 0.32 0.00 0.00 0.32 2 tuned

11:02:28 AM 0 7950 97.40 0.00 0.00 0.97 97.40 3 stress

11:02:28 AM 0 7951 98.05 0.32 0.00 0.32 98.38 0 stress

11:02:28 AM 0 7952 98.05 0.32 0.00 0.65 98.38 2 stress

11:02:28 AM 0 7953 98.38 0.32 0.00 0.32 98.70 1 stress

11:02:28 AM 0 8013 0.32 0.32 0.00 0.32 0.65 3 pidstat

# 大量进程会导致用户态升高

总结:

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

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

当发现负载高时,可以使用mpstat、pidstat等工具,快速定位到,负载高的原因,从而做出处理

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值