Linux系统瓶颈排查

Posted baijuminglu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统瓶颈排查相关的知识,希望对你有一定的参考价值。

一、简介

操作系统的资源无外乎计算资源(CPU),存储资源(硬盘,内存),网络资源(网卡)。能够成为瓶颈的包括CPU的使用率,内存空间是否充足,硬盘读写吞吐量,读写次数。

 

Sysstat 是一个监控系统资源,系统性能和活动的一个常用工具包,它包括如下功能:

  • iostat:统计并报告你的设备的CPU状态和I/O状态数据。
  • mpstat:监控和显示关于CPU的细节信息。
  • pidstat:统计正在运行的进程/任务的CPU、内存等信息。
  • sar:保存和报告不同资源(CPU、内存、输入输出、网络、内核等)的详细信息。
  • sadc:系统活动数据收集器,用于为sar收集后台的数据。
  • sa1:读取和存储sadc的数据文件的二进制数据。
  • sa2:和sar协作,用于总结每日报告。
  • Sadf:以不同的格式(CSV或XML)显示sar生成的数据。
  • Sysstat:解释sysstat的各种作用。
  • nfsiostat-sysstat:统计NFS协议的网络文件系统的 I/O状态数据。
  • cifsiostat:统计CIFS协议的网络文件系统的 I/O状态数据

二、安装

sysstat可以通过yum直接安装

yum  -y install sysstat

想获得最新的性能也可以编译安装,源码包下载地址http://sebastien.godard.pagesperso-orange.fr/download.html

 

三、使用

sar [options] [-A] [-o file] t [n]

其中:

t为采样间隔,n为采样次数,默认值是1;

-o file表示将命令结果以二进制格式存放在文件中,file 是文件名。

options 为命令行选项,sar命令常用选项如下:

技术分享图片

-A:所有报告的总和

-u:输出CPU使用情况的统计信息

-v:输出inode、文件和其他内核表的统计信息

-d:输出每一个块设备的活动信息

-r:输出内存和交换空间的统计信息

-b:显示I/O和传送速率的统计信息

-a:文件读写情况

-c:输出进程统计信息,每秒创建的进程数

-R:输出内存页面的统计信息

-y:终端设备活动情况

-w:输出系统交换活动信息

 

查看cpu是否有瓶颈:sar -u  与sar -q组合

sar -u 1 10 

技术分享图片

 

sar  -q  1 10 

技术分享图片

 

查看内存是否有瓶颈:sar -B、sar -r 和 sar -W组合

sar -B 1 10

技术分享图片

 

sar -r 1 10  

 

技术分享图片

 技术分享图片

 

检查IO瓶颈: sar -b、sar -u 和 sar -d 

sar -b 1 10

技术分享图片

 技术分享图片

 


以上是关于Linux系统瓶颈排查的主要内容,如果未能解决你的问题,请参考以下文章

linux性能优化系统监控的综合思路

性能测试如何定位瓶颈?偶发超时?看高手如何快速排查问题

CPU负载过高异常排查实践与总结

Linux常用的性能分析工具

java性能问题排查提效脚本工具

Clickhouse 性能瓶颈排查 IO过高