在Load average 高的情况下如何鉴别系统瓶颈

在Load average 高的情况下如何鉴别系统瓶颈。是CPU不足,还是io不够快造成? 或是内存不足?

一:查看系统负载vmstat

procs -----------memory---------- -----swap-- -------io---- --system-- ------cpu------- 
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 
0  0      0 496056 889316 4065748    0    0     9    41   55   51  0  0 99  1  0

1 : procs

procs  
r  b 
0  0

r :运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu。

b :在等待资源的进程数,比如正在等待I/O、或者内存交换等。

2 : memory

-----------memory----------
swpd   free   buff  cache   
0    496056 889316 4065748

swpd :切换到内存交换区的内存数量(k表示)。

如果swpd的值不为0,或者比较大,比如超过了100m,只要si、so的值长期为0,系统性能还是正常

free :当前的空闲页面列表中内存数量(k表示)

buff :作为buffer cache的内存数量,一般对块设备的读写才需要缓冲。

cache :作为page cache的内存数量,一般作为文件系统的cache,

如果cache较大,说明用到cache的文件较多,如果此时IO中bi比较小,说明文件系统效率比较好。

3 : swap

---swap-- 
si   so 
0    0

si :由内存进入内存交换区数量。

so :由内存交换区进入内存数量。

4 : IO

-----io---- 
bi    bo  
9    41

bi :从块设备读入数据的总量(读磁盘)(每秒kb)。

bo :块设备写入数据的总量(写磁盘)(每秒kb)

这里我们设置的bi+bo参考值为1000,如果超过1000,而且wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析。

5 : system 显示采集间隔内发生的中断数

--system-- 
in   cs 
55   51

in :在某一时间间隔中观测到的每秒设备中断数。

cs :每秒产生的上下文切换次数,如当 cs 比磁盘 I/O 和网络信息包速率高得多,都应进行进一步调查。

6 : cpu 表示cpu的使用状态

 -----cpu------
 cs us sy id wa st
 51 0  0  99 1  0

us :用户方式下所花费 CPU 时间的百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序。

sy :内核进程所花费的cpu时间的百分比。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。

wa :IO等待所占用的CPU时间的百分比。这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,

这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(主要是块操作)。

id :cpu处在空闲状态的时间百分比

原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2014-10-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏开源优测

jmeter性能测试实践注意事项12

前言 在使用jmeter进行性能测试实践时,必须要注意jmeter的一些局限性,充分使用jmeter优势功能,这样才能更好的发挥出jmeter的能力。 要注意限...

37580
来自专栏杨建荣的学习笔记

数据库备份的动态调度设计和思路

总体来说,如果切入点是备份,其实直接接入celery不是一个很理想的方案,因为备份任务的执行时间一般都偏长,而且任务的执行结果很重要,如果没备份或者备份任务重复...

8510
来自专栏Crossin的编程教室

【每日一坑 6】 查找文件内容

Hello 大家好,我终于又来挖坑了。 上次的坑好像反响不是很好,论坛上只有两份解答。其实这题难度不大,不用什么特殊的函数来解决,就是字符串、队列的各种操作,可...

28270
来自专栏PHP在线

NoSQL数据库的分布式算法

原文出处: highlyscalable.wordpress.com 译文出处:juliashine 系 统的可扩展性是推动NoSQL运动发展的的主要...

35550
来自专栏WeTest质量开放平台团队的专栏

【长文干货】浅析分布式系统

我们常常会听说,某个互联网应用的服务器端系统多么牛逼,比如QQ、微信、淘宝。那么,一个互联网应用的服务器端系统,到底牛逼在什么地方?为什么海量的用户访问,会让一...

12920
来自专栏韩伟的专栏

浅析海量用户的分布式系统设计(2)

分布式系统是一个由很多进程组成的整体,这个整体中每个成员部分,都会具备一些状态,比如自己的负责模块,自己的负载情况,对某些数据的掌握等等。而这些和其他进程相关的...

1K10
来自专栏大数据挖掘DT机器学习

Python3爬取汽车目标经销商数据

本文采用Python3进行语法编写,Python3与Python2中的函数会有所不同,但是相差不大,具体的问题可以百度找到,因有朋友在做汽车方面的业务,因此需要...

298130
来自专栏IT大咖说

饿了么:Redis Cluster运维方案

内容来源:2017 年 8 月 12 日,饿了么高级Python工程师黄光星在“CRUG 2017北京活动”进行《Redis Cluster运维方案》演讲分享。...

31020
来自专栏GA小站

UTM参数使用30问——既UTM参数使用指南(2018)

有很多缺少Google Analytics的UTM参数而导致的跟踪错误案例,我在Google Analytics Community和 Quora 看到过成千上...

42120
来自专栏瓜大三哥

时序分析中的基本概念和术语

1.建立保持时间 ? 2.四种时序路径 ? 第一类时序路径:从设备A的时钟到FPGA的第一级寄存器的数据输入端口 第二类时序路径:两个同步原件之间的路径,...

26680

扫码关注云+社区

领取腾讯云代金券