Linux性能分析

系统性能分析:

1、整体系统CPU利用率

2、内存利用率

3、磁盘I/O的利用率和延迟

4、网络利用率

 

1、CPU定位分析

在系统的CPU分析定位过程中,当系统的CPU利用率大于50%时,我们就需要注意了;当系统的CPU利用率大于70%的时候,就需要密切关注;当系统的CPU的利用率高于90%的时候,情况就比较严重了。通过这些监控分析情况,我们可以用命令有vmstat、sar、dstat、mpstat、top、ps等命令来进行统计分析。

模块

类型

度量方法

衡量标准

CPU

使用情况

1、通过vmstat 统计1-id的计数

2、通过sar -u 统计1-%idle的计数

3、通过dstat命令 统计1-id1的计数

4、通过mpstat -P ALL统计1-%idle的计数

5、通过ps命令统计cpu的计数

注意>=50%

告警>=70%

严重>=90%

CPU

满载

6、vmstat的r的计数 > CPU逻辑数

7、sar -q, “runq-sz” >CPU逻辑数

8、dstat -p, “run” > CPU逻辑数

运行的队列大于1时,说明已经有一定的负载了,不过这个值也不绝对,需要进一步分析其他的资源情况来确定CPU是否已经满载符合运行

CPU

错误

9、通过perf工具去捕获处理器的错误信息,需要处理器支持

需处理器支持

 

2、内存定位分析

在系统的内存分析定位过程中,当系统内存的利用率大于50%的时候,我们就需要注意了;当系统的内存大于70%的时候,就需要密切关注;当系统的内存利用率高于80%的时候,情况就比较严重。通过这些监控分析,可以用vmstat、sar、dstat、free、top、ps等命令来进行统计分析。

模块

类型

度量方法

衡量标准

内存

使用情况

1、free命令查看使用情况

2、vmstat命令查看使用情况

3、sar -r 命令查看使用情况

4、ps命令查看使用情况

注意>=50%

告警>=70%

严重>=80%

内存

满载

5、vmstat的si/so比例辅助swpad和free利用

6、sar -W 查看次缺页数

7、查看内核日志有无OOM机制kill进程

8、dmesg | grep killed

1、so数值大,且swpad已经占比很高,内存肯定已经饱和

2、sar命令缺页以为不停地和swap打交道,证明内存已经饱和

内存

错误

9、查看内核有无physical failures

10、通过工具如valgrind等进行检查

有计数

 

3、网络定位分析

衡量系统网络的使用情况,可以使用的命令有sar、ifconfig、netstat以及查看net的dev速率,通过查看收发包的吞吐率达到网卡的最大上限(问题:网络的最大上限怎么看呢?),网络数据报文有因为这类原因而引发的丢包、阻塞等现象都证明当前网络可能存在瓶颈。在进行性能测试时,为了减小网络的影响,一般我们都是在局域网中进行测执行。

模块

类型

度量方法

衡量标准

网络

使用情况

1、sar -n DEV 的收发计数大于网卡上限

2、ifconfig RX/TX 带宽超过网卡上限

3、cat /proc/net/dev 的速率超过上限

4、nicstat 的util基本满负载

1、收发包的吞吐率达到网卡上限

2、有延迟

3、有丢包

4、有阻塞

网络

满载

5、ifconfig dropped 有计数

6、netstat -s “segments restransmited”有计数

7、sar -n DEV rxdrop txdrop 有计数

统计的丢包有计数证明已经满载了

网络

错误

8、ifconfig, ‘errors’

9、netstat -I, “RX-ERR”/”TX-ERR”

10、sar -n EDEV, “rxerr/s”,”txerr/s”

11、ip -s link, “errors”

错误有计数

 

4、IO定位分析

衡量系统IO的使用情况,可以使用sar、iostat、iotop等命令进行系统级别的IO监控分析。当发现IO的利用率大于40%时候,就需要注意了;当使用率大于60%则处于告警阶段;大于80%时IO就会出现阻塞了。

模块

类型

度量方法

度量标准

IO

使用情况

1、iostat -xz, “%util”

2、sar -d, “%util”

3、iotop 的利用率很高

4、cat /proc/pid/sched|grep iowait

注意>=40%

告警>=60%

严重>=80%

IO

满载

5、iostat -xnz 1, “avgqu-sz”>1

6、iostat await>70

IO已经有满载嫌疑

IO

错误

7、dmesg 查看io错误

8、smartctl /dev/sda

有信息

posted @ 2019-01-17 14:22  疯狂牙膏  阅读(1828)  评论(0编辑  收藏  举报