linux查询 cpu average,Linux系统下CPU使用(load average)梳理(示例代码)

在平时的运维工作中,当一台服务器的性能出现问题时,通常会去看当前的CPU使用情况,尤其是看下CPU的负载情况(load average)。

要想获得服务器的CPU负载情况,有下面三种命令:

1)w命令

[[email protected] ~]# w

12:12:41 up 167 days, 20:46, 2 users, load average: 0.00, 0.01, 0.05

USER TTY FROM [email protected] IDLE JCPU PCPU WHAT

root pts/0 192.168.1.5 10:01 1.00s 0.11s 0.00s w

root pts/2 192.168.1.5 10:19 1:47m 0.04s 0.04s -bash

2)uptime命令

[[email protected] ~]# uptime

12:12:55 up 167 days, 20:46, 2 users, load average: 0.00, 0.01, 0.05

3)top命令

[[email protected] ~]# top

top - 12:13:22 up 167 days, 20:47, 2 users, load average: 0.00, 0.01, 0.05

Tasks: 272 total, 1 running, 271 sleeping, 0 stopped, 0 zombie

%Cpu(s): 0.0 us, 0.1 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

KiB Mem : 65759080 total, 58842616 free, 547908 used, 6368556 buff/cache

KiB Swap: 2097148 total, 2097148 free, 0 used. 64264884 avail Mem

................

简单说下CPU负载和CPU利用率的区别

1)CPU利用率:显示的是程序在运行期间实时占用的CPU百分比

2)CPU负载:显示的是一段时间内正在使用和等待使用CPU的平均任务数。

CPU利用率高,并不意味着负载就一定 大。

举例来说:如果我有一个程序它需要一直使用CPU的运算功能,那么此时CPU的使用率可能达到100%,但是CPU的工作负载则是趋近于“1”,因为 CPU仅负责一个工作嘛!

如果同时执行这样的程序两个呢?CPU的使用率还是100%,但是工作负载则变成2了。所以也就是说,当CPU的工作负载越大, 代表CPU必须要在不同的工作之间进行频繁的工作切换。

------------------------下面通过一个电话亭打电话的比喻来说明这两者之间的区别------------------------

某公用电话亭,有一个人在打电话,四个人在等待,每人限定使用电话一分钟,若有人一分钟之内没有打完电话,只能挂掉电话去排队,等待下一轮。

电话在这里就相当于CPU,而正在或等待打电话的人就相当于任务数。

在电话亭使用过程中,肯定会有人打完电话走掉,有人没有打完电话而选择重新排队,更会有新增的人在这儿排队,这个人数的变化就相当于任务数的增减。

为了统计平均负载情况,我们5分钟统计一次人数,并在第1、5、15分钟的时候对统计情况取平均值,从而形成第1、5、15分钟的平均负载。

有的人拿起电话就打,一直打完1分钟,而有的人可能前三十秒在找电话号码,或者在犹豫要不要打,后三十秒才真正在打电话。如果把电话看作CPU,人数看作任务,我们就说前一个人(任务)的CPU利用率高,后一个人(任务)的CPU利用率低。

当然, CPU并不会在前三十秒工作,后三十秒歇着,只是说,有的程序涉及到大量的计算,所以CPU利用率就高,而有的程序牵涉到计算的部分很少,CPU利用率自然就低。但无论CPU的利用率是高是低,跟后面有多少任务在排队没有必然关系。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值