千家信息网

Linux下cpu使用率load average怎么看

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,本篇内容介绍了"Linux下cpu使用率load average怎么看"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读
千家信息网最后更新 2025年01月22日Linux下cpu使用率load average怎么看

本篇内容介绍了"Linux下cpu使用率load average怎么看"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

load average一般可以通过top或者uptime观察到,格式如下:

load average: 0.10, 0.05, 0.58

分别代表了最近1分钟,5分钟,15分钟CPU的平均负载情况

如果是单核CPU的话,1.00就表示CPU已经满负荷了,

如果是多核CPU的话,load average达到CPU的核数即说明该CPU已经满负荷了,

如果是多颗物理CPU,则当load average达到所有物理CPU的总核数时,说明系统CPU满负荷了。

简而言之,CPU的核数即为我们根据load average衡量CPU负载的依据。

那么当CPU负载达到哪个值时,就该引起我们注意了呢?按照参考文章给的经验值是CPU核数减去0.3,

即如果CPU总核数为4,当load average上15分钟的数值达到3.7时,我们就该好好进系统看看了。

CPU Utilization 好理解,就是CPU的利用率,75%以上就比较高了(也有说法是80%或者更高)。除了这个指标外,还要结合Load Average和Context Switch Rate来看,有可能CPU高是因为后两个指标高导致的。

Load Average ,这个很难衡量。网上搜了一圈,还没见到几个合理的解释。我100个并发用户测试数来这两个值是:77.534%,6.108,CPU利用率比较高,Load Average也好像有点高。后来发现了如下两片博文: 理解Load Average做好压力测试 ,"Load Average是 CPU的 Load,它所包含的信息不是 CPU的使用率状况,而是在一段时间内 CPU正在处理以及等待 CPU处理的进程数之和的统计信息,也就是 CPU使用队列的长度的统计信息。 ",基本解释了multi-process,multi-thread程序的原理。理解Linux处理器的负载均值(翻译) ,简单说起来就一句话:

Load Average < CPU个数 * 核数 *0.7

比如1个1核CPU,Load Average < 1 * 1 * 0.7;1个4核的CPU,Load Average必须 < 1 * 4 * 0.7 = 2.8。

查看cpu的信息:grep 'model name' /proc/cpuinfo

Context Switch Rate 。就是Process(Thread)的切换,如果切换过多,会让CPU忙于切换,也会导致影响吞吐量。《高性能服务器架构 》这篇文章的第2节就是说的是这个问题的。究竟多少算合适?google了一大圈,没有一个确切的解释。Context Switch大体上由两个部分组成:中断和进程(包括线程)切换,一次中断(Interrupt)会引起一次切换,进程(线程)的创建、激活之类的也会引起一次切换。CS的值也和TPS(Transaction Per Second)相关的,假设每次调用会引起N次CS,那么就可以得出

Context Switch Rate = Interrupt Rate + TPS* N

CSR减掉IR,就是进程/线程的切换,假如主进程收到请求交给线程处理,线程处理完毕归还给主进程,这里就是2次切换。也可以用CSR、IR、TPS的值代入公式中,得出每次事物导致的切换数。因此,要降低CSR,就必须在每个TPS引起的切换上下功夫,只有N这个值降下去,CSR就能降低,理想情况下N=0,但是无论如何如果N >= 4,则要好好检查检查。另外网上说的CSR<5000,我认为标准不该如此单一。

其他信息:

这三个指标在LoadRunner中可以监控到;另外,在linux中,也可以用vmstat查看r(Load Arerage),in(Interrupt)和cs(Context Switch)

#vmstat 1 5

procs --------------memory------------- ----swap-- ---io-- -system------cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 244644 29156 415720 2336484 0 0 1 49 2 1 1 0 98 0
0 0 244644 29140 415720 2336484 0 0 0 28 9 115 0 0 99 1
0 0 244644 29140 415720 2336484 0 0 0 24 62 256 0 0 100 0
0 0 244644 29140 415720 2336484 0 0 0 0 5 93 0 0 100 0
0 0 244644 29140 415720 2336484 0 0 0 0 58 255 0 0 100 0

Interrupt Rate包括内核由于进程的时间片中断。(在 Linux 2.6 中,系统时钟每 1 毫秒中断一次时钟频率,用 HZ 宏表示,定义为 1000,即每秒中断 1000 次。系统不一样,内核不一样配置100、250的都有。)

内核的时钟频率可以通过如下命令知道

cat /boot/config-`uname -r` | grep '^CONFIG_HZ='

CONFIG_HZ=100

每秒总的时钟中断数就是 = cpu个数 * 核数 * CONFIG_HZ

cat /proc/interrupts

CPU0 CPU1 CPU2 CPU3
LOC: 97574747 52361843 105207680 69447653 Local timer interrupts
RES: 107368 257510 98635 186294 Rescheduling interrupts
CAL: 14174 14206 14164 194 function call interrupts
TLB: 1007949 853117 992546 591410 TLB shootdowns

可以查看中断的类型以及次数

"Linux下cpu使用率load average怎么看"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

切换 核数 进程 就是 信息 线程 处理 时钟 系统 使用率 两个 内核 情况 解释 个数 内容 利用率 可以通过 指标 文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 物联网监测数据库 信用数据库客服 公司服务器怎么上云安全 宁夏果蔬配送软件开发 通讯服务器配置是什么 数据库的表怎么转为sql语句 成都做网络安全的公司名称 创世纪1服务器简单boss 软件开发过程中的沟通问题 通信网络技术服务使用税率 广东pdu服务器专用电源多少钱 rman 连接到数据库 网络安全运行与维护是什么专业 服务器管理工具 推荐 黑讯互联网科技有限公司 源宝互联网信息科技有限公司 大工19春计算机网络技术2 支付平台软件开发公司 永久60级服务器免费转服 给我找网络安全小报 游侠对战平台mc怎么开服务器 江苏专业服务器散热器哪家便宜 网络安全的基本内容涉及到 利用网络技术对员工进行监管 冒险岛修改数据库不生效 网络安全知识要写什么 行程码后台数据库 网络技术有必要考吗 excel跨表提取数据库 lpl选手数据库籍贯
0